Java基础学习2

Java基础2

scanner:

Scanner scanner = new Scanner(System.in);//获取输入
       System.out.println("请输入:");
       if (scanner.hasNextLine()){//判断是否有输入
           String Str = scanner.nextLine();//接收输入的内容赋给str
           System.out.println(Str);
      }
       scanner.close();//关闭Scanner

hasnext和hasnexLine的区别

 

hasnext()以空白结束,hasnexLine()以enter结束!

流程控制

  • 顺序结构

  • 选择结构

if(),which()

  • 循环结构

while(),do...while,for()

补充

print:输出不会换行

println:输出会换行

\t:空格

\n:换行

反编译

 

打开文件所在位置:project Structure----->找到对应文件class文件并复制

 

在idea中如图打开Java文件文件夹,粘贴到该文件夹下,再在idea中打开class文件,即可看见java文件编译时的代码。

练习

打印九九乘法表:

for (int i = 1; i <= 9; i++) {//外循环
   for (int j=1;j<=i;j++){
       System.out.print(j+"*"+i+"="+j*i+"\t");
  }
   System.out.println();

打印等边三角形:

for (int i = 0; i < 5; i++) {
   for(int j=5;j>i;j--){
       System.out.print(" ");
  }
   for(int k=0;k<=i;k++){
       System.out.print("*");
  }
   for(int k=1;k<=i;k++){
       System.out.print("*");
  }
   System.out.println();

方法

定义:

 

一般一个方法只用来完成一个功能,便于完善,修改!

调用:

 

 

方法的重载

 

 

 

递归

public static int f(int i){//阶乘
   if(i==1){
       return 1;
  }else {
       return i*f(i-1);//递归
  }
}

补充(面试题):

Java都是值传递,不是引用传递!

数组

定义声明

int[] nums=new int[10];//声明
int sum=0;
for (int i = 0; i < nums.length; i++) {//遍历
   nums[i]=i+1;//赋值
   System.out.println(nums[i]);/打印
   sum+=nums[i];//求和
}
System.out.println(sum);

注意

数组的使用

public class Dome02 {
   public static void main(String[] args) {
       int[] a={1,2,3,4,5};
       int[] c=f(a);
       b(c);
  }
   public static int[] f(int[] a){//反序
       int[] b=new int[a.length];//重新定义一个空数组
       for (int i = 0,j=a.length-1; i < a.length ;j--, i++) {
           b[j]=a[i];//将a数组中的第一个元素放到b数组的最后一个位置...
      }
       return b;
  }
   public static void b(int[] a){//遍历
       for (int i = 0; i <a.length ; i++) {
           System.out.print(a[i]+" ");
      }
  }
}

Arrays类的使用:

int[] a=Dome01.getarray();
//Dome02.b(a);
int[] b={8888,2,3,6,56,77,4,99999};
Arrays.sort(b);//排序
Arrays.fill(b,1,2,0);//填充,用0填充在位置1,2之间
System.out.println(Arrays.toString(a));//打印数组
System.out.println(Arrays.toString(b));

冒泡排序(面试题)

//冒泡排序
public class Dome04 {
   public static void main(String[] args) {
       int[] a={2,4,1,3,6,5};
       System.out.println(Arrays.toString(sort(a)));
  }
   public static int[] sort(int[] a){
       int temb=0;
       for (int i = 0; i <a.length-1 ; i++) {//外循环,判断比较几次
           for (int j = 0; j <a.length-1-i ; j++) {//内循环交换前一个数大于后一个数的位置
               if (a[j]>a[j+1]){
                   temb=a[j];
                   a[j]=a[j+1];
                   a[j+1]=temb;
              }
          }
      }

       return a;

  }
}

 

Java基础2

scanner:

Scanner scanner = new Scanner(System.in);//获取输入
       System.out.println("请输入:");
       if (scanner.hasNextLine()){//判断是否有输入
           String Str = scanner.nextLine();//接收输入的内容赋给str
           System.out.println(Str);
      }
       scanner.close();//关闭Scanner

hasnext和hasnexLine的区别

image-20211206222107848

hasnext()以空白结束,hasnexLine()以enter结束!

流程控制

  • 顺序结构

  • 选择结构

if(),which()

  • 循环结构

while(),do...while,for()

补充

print:输出不会换行

println:输出会换行

\t:空格

\n:换行

反编译

image-20211207133427874

打开文件所在位置:project Structure----->找到对应文件class文件并复制

image-20211207133734765

在idea中如图打开Java文件文件夹,粘贴到该文件夹下,再在idea中打开class文件,即可看见java文件编译时的代码。

练习

打印九九乘法表:

for (int i = 1; i <= 9; i++) {//外循环
   for (int j=1;j<=i;j++){
       System.out.print(j+"*"+i+"="+j*i+"\t");
  }
   System.out.println();

打印等边三角形:

for (int i = 0; i < 5; i++) {
   for(int j=5;j>i;j--){
       System.out.print(" ");
  }
   for(int k=0;k<=i;k++){
       System.out.print("*");
  }
   for(int k=1;k<=i;k++){
       System.out.print("*");
  }
   System.out.println();

方法

定义:

image-20211207134418938

一般一个方法只用来完成一个功能,便于完善,修改!

调用:

image-20211207135243558

方法的重载

image-20211207141048324

 

递归

public static int f(int i){//阶乘
   if(i==1){
       return 1;
  }else {
       return i*f(i-1);//递归
  }
}

补充(面试题):

Java都是值传递,不是引用传递!

数组

定义声明

int[] nums=new int[10];//声明
int sum=0;
for (int i = 0; i < nums.length; i++) {//遍历
   nums[i]=i+1;//赋值
   System.out.println(nums[i]);/打印
   sum+=nums[i];//求和
}
System.out.println(sum);

注意

image-20211207161533023

数组的使用

public class Dome02 {
   public static void main(String[] args) {
       int[] a={1,2,3,4,5};
       int[] c=f(a);
       b(c);
  }
   public static int[] f(int[] a){//反序
       int[] b=new int[a.length];//重新定义一个空数组
       for (int i = 0,j=a.length-1; i < a.length ;j--, i++) {
           b[j]=a[i];//将a数组中的第一个元素放到b数组的最后一个位置...
      }
       return b;
  }
   public static void b(int[] a){//遍历
       for (int i = 0; i <a.length ; i++) {
           System.out.print(a[i]+" ");
      }
  }
}

Arrays类的使用:

int[] a=Dome01.getarray();
//Dome02.b(a);
int[] b={8888,2,3,6,56,77,4,99999};
Arrays.sort(b);//排序
Arrays.fill(b,1,2,0);//填充,用0填充在位置1,2之间
System.out.println(Arrays.toString(a));//打印数组
System.out.println(Arrays.toString(b));

冒泡排序(面试题)

//冒泡排序
public class Dome04 {
   public static void main(String[] args) {
       int[] a={2,4,1,3,6,5};
       System.out.println(Arrays.toString(sort(a)));
  }
   public static int[] sort(int[] a){
       int temb=0;
       for (int i = 0; i <a.length-1 ; i++) {//外循环,判断比较几次
           for (int j = 0; j <a.length-1-i ; j++) {//内循环交换前一个数大于后一个数的位置
               if (a[j]>a[j+1]){
                   temb=a[j];
                   a[j]=a[j+1];
                   a[j+1]=temb;
              }
          }
      }

       return a;

  }
}

 

posted @ 2021-12-07 23:06  T加油  阅读(38)  评论(0)    收藏  举报