JAVA语言学习-Day2

参考教学视频:秦疆

Java流程控制

Scanner工具包(java5新特性)

Scanner s = new Scanner(System.in);//创建对象,接收接盘数据
if(s.hasNext()){
   String a = s.next();
}
if(s.hasNextLine()){
   String a = s.nextLine();
}
s.close();

if选择结构

if(boolean){
   
}else if(boolean){
   
}else{}

switch结构(java7支持字符串比较)

switch(param){
   case "aaa":
       break;
   case "bbb":
       break;
   default:
}

while、dowhile循环

while(){}
do{}while()

for循环,增强for循环(java5引入)

for(初始值;boolean;更新值){}
for(:){}

break,continue

  • break:中断当前循环

  • continue:跳出本次循环

Java方法

修饰符+返回值类型+方法名+参数列表+方法体

public String test(String param){
   return "Param";
}

方法重载

方法名相同,参数列表不同。

public String test(String a){return a;}
public String test(String a,String  b){return a+b;}

命令行传参

java class文件 参数 编码集

可变参数(java1.5特性)

指定参数类型后加...,一个方法中只能有一个,必须是最后一个参数

public void test(String a,int ...b){}

递归

自己调用自己,分为递归头(什么时候不调用自身)和递归体,可能会栈内存溢出

public static int f(int n){
   if(n==1){
       return 1;
  }else{
       return n*f(n-1);
  }
}

数组

int[] a = new int[10];//动态初始化
for(int i=0;i<a.length;i++){int[i]=i+1;}
int[] b = {1,2,3,4,5,6}//静态初始化
(ArrayIndexOutOfBoundsException数组索引越界异常)

多维数组

int[][] a = new int[2][3];
for(int i=0;i<a.length;i++){
   for(int j=0;j<a[i].length){
       a[i][j] = j;//乱七八糟的赋个值吧
  }
}
int[][] b = new int{{1,1,1},{1,1,2}};

Arrays

Arrays.toString(param);//转为字符串
Arrays.sort(param);//排序
arrays.fill(param,num);//num填充所有

冒泡排序

int[] a = new int[10];//不塞值了,理解逻辑
int temp = 0;
for(int i=0;i<a.length-1;i++){
   for(int j=0;j<a.length-1-i;j++){
       if(a[j+1]<a[j]){
           temp = array[j];
           array[j] = array[j+1];
           array[j+1] = temp;
      }
  }
}

稀疏数组

  1. 记录几行几列,有多少个不同的值。

  2. 把具有不同值的元素和行列及值记录在一个小规模的数组中。

posted @ 2024-04-03 18:18  孟秋廿六  阅读(13)  评论(0)    收藏  举报