JAVA语言学习-Day2
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;
        }
    }
}
稀疏数组
- 
记录几行几列,有多少个不同的值。 
- 
把具有不同值的元素和行列及值记录在一个小规模的数组中。 
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号