第一题:
import java.lang.Integer;
import java.util.Arrays;
class ArrDemo{

    public static void main(String[] args){
        int[] arr = new int[]{1,20,60,90,4};
        //int[] arr = new int[5];//问题2、这个值并没有在错误判断里面,怎么判断?
        System.out.println(Arrays.toString(arr));
        int maxv = getMax(arr);
        System.out.println(maxv);
    }

    public static int getMax(int[] arr){
        int length = arr.length;
        if(arr == null){//问题1、数组要怎么定义arr才等于null?
            System.out.println("数组定义错误!null值!");
            System.exit(0);
        }else if(length == 0){
            System.out.println("数组定义错误!长度等于0!");
            System.exit(0);
        }
        int minv = Integer.MIN_VALUE;        
        for(int i=0;i<length;i++){
            if(arr[i] > minv){
                minv = arr[i];
            }
        }
        return minv;
    }
}

第二题:
    public static void main(String[] args){
        int[] arr = new int[]{1,20,60,90,4,10,20};
        System.out.println(Arrays.toString(arr));
        int position = getPos(arr,4);
        System.out.println(position);
    }
    public static int getPos(int[] arr,int v){
        int num = 0;
        int position = 0;
        int length = arr.length;
        if(arr == null){
            System.out.println("数组定义错误!null值!");
            System.exit(0);
        }else if(length == 0){
            System.out.println("数组定义错误!长度等于0!");
            System.exit(0);
        }        
        for(int i=0;i<length;i++){
            if(v == arr[i]){
                num ++;
                position = i;
                break;
            }
        }
        return position;
    }
第三题:
    public static void main(String[] args){
        int[] arr = new int[]{10,20,60,90,4,11,20,2};
        int[] bulle_arr = bulleSort(arr);
        System.out.println(Arrays.toString(bulle_arr));
    }
    //冒泡排序,升序
    public static int[] bulleSort(int[] arr){
        int length = arr.length;
        int tmp = 0;
        for(int i=0;i<length-1;i++){
            for(int j=0;j<length-1-i;j++){
                if(arr[j]>arr[j+1]){
                    tmp = arr[j+1];
                    arr[j+1] = arr[j];
                    arr[j] = tmp;
                }
            }
        }
        return arr;
    }
第四题:
public static void main(String[] args){
        int[] arr = new int[]{1,2,3,.....,1021,1022,1023};  //log2^1024 = 10;
        int binv = binSearch(arr,1023);
        System.out.println(binv);
}
public static int binSearch(int[] arr,int v){
        int length = arr.length;
        int left = 0;
        int right = length - 1;
        int i = 0;
        int r = 0;
        int num = 0;
        while(left <= right){
            num ++;
            i = (left + right)/2;
            if(arr[i] == v){
                r = i;
                break;
            }else if(arr[i] > v){
                right = i - 1;
            }else{//arr[i]<v
                left = i + 1;
            }
            if(num >= 1000){
                break;
            }
        }
        System.out.println(num);
        return r;
}
第五题:首先是有序,一分为二的去查找,一次去掉一半数据,匹配次数成对数增长。
第六题:
public static void main(String[] args){
        int[][] arr = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};
        for(int i=0;i<arr.length;i++){
            System.out.println(Arrays.toString(arr[i]));
        }
        int[][] rows_arr = changeArr(arr);
        for(int i=0;i<rows_arr.length;i++){
            System.out.println(Arrays.toString(rows_arr[i]));
        }
}
    public static int[][] changeArr(int[][] arr){
        int tmp = 0;
        int num = 0;
        for(int i=0;i<arr.length;i++){
            for(int j=i+1;j<arr[i].length;j++){
                tmp = arr[i][j];
                arr[i][j] = arr[j][i];
                arr[j][i] = tmp;
                num ++;
            }
        }
        System.out.println(num);
        return arr;
    }
第七题:
class TreeDemo{
    
    public static void main(String[] args){
        int[][][] arr = {{{1,2,3},{4,5,6},{7,8,9}},{{10,11,12},{13,14,15},{16,17,18}},{{19,20,21},{22,23,24},{25,26,27}}};
        treeStruct(arr);
    }

    public static void treeStruct(int[][][] arr){
        for(int i=0;i<arr.length;i++){
            for(int j=0;j<arr[i].length;j++){
                for(int m=0;m<arr[j].length;m++){
                    System.out.print(arr[j][i][m] + "\t");
                }
                System.out.print("| ");
            }
            System.out.println("");
        }
    }
}
第八题:
class DogDemo{
    public static void main(String[] args){
        AttrDemo attr = new AttrDemo();
        attr.cry("red",100);
        System.out.println(attr.getColor());
        System.out.println(attr.getAge());
    }
}

class Dog{
    private static String color = "white";
    private static int age = 10;

    public void cry(String color,int age){
        this.color = color;
        this.age = age;
    }

    public String getColor(){
        return this.color;
    }

    public int getAge(){
        return this.age;
    }
}
第九题:
堆区:一个内存区域,存放数组、对象、对象成员属性等数据,定义一个超大的数据就会出现溢出。
栈区:使用计算机寄存器空间,局部变量、方法都存放在栈区内,存放方式是先进后出,先调用的方法
压入栈底,调用完之后栈顶的方法先弹出。栈溢出无限递归调用一个方法。
第十题:
oop:面向对象编程。封装、继承、多态。