方法重载

定义:在同一类中。允许存在一个以上的同名方法。只要它们的参数个数或者参数类型不同即可

即两同一不同:同一个类,相同方法名,参数列表不同,参数类型不同

例子:

public class Test{//Test是类名,首字母要大写(驼峰规则)
    public static void main(string[] args){
        Test p = new Test()//空格隔开
        p.getSum(1,1)//***如果把第一个方法删了会类型提升自动选择第二个方法
    }
//以下四种方法构成方法重载
//判断方法重载跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系
    public void getSum(int i,int j){//方法名需要首字母小写,后面单词首字母大写
        System.out.println(i + j);
    }
    public void getSum(double i, double j){
        System.out.println(i + j);
    }
    public void getSum(string i, int j){
        System.out.println(i + j);
    }
    public void getSum(string i, int j){
        System.out.println(i + j);
    }
}

类型提升

byte,short,char -> int -> long -> float -> double 

低精度向高精度转变问题不大,高精度向低精度转变容易出现精度损失

在运算过程中容易出现类型提升

//强制类型转换
int a = 1
double b = (double)a

类默认值

类的属性在没有赋值的时候有默认初始化值

resume在java是什么意思 java resume()_二维数组

局部变量没有对应的初始值,在调用局部变量之前一定要赋值

形参调用时赋值即可

数组 :套娃

resume在java是什么意思 java resume()_初始化_02

public class Array{
    public static viod main(String[] args){
    int[] arr = new int[]{1,2,3};//一维数组的静态初始化
    int[][] arr1 =new int[][]{{1,2,3},{4,5},{6,7,8}};//二维数组的静态初始化
    String[][] arr2 =new String[3][4]//二维数组的动态初始化
    String[][] arr3 =new String[3][]//二维数组的动态初始化
    }
}

 针对    string[][] arr3 =new string[3][]//二维数组的动态初始化  如果要索引arr3[1][3]

arr3[1] = new string[4]//new创建空间赋地址,他把一个string[4]的首地址赋给arr3[1]

resume在java是什么意思 java resume()_二维数组_03

获取数组长度length,以上面代码为例

a =arr1.length//3
a=arr1[1].length//2
//理解套娃的意思

如何历遍二维数组

for(i = 0,i < arr1.length,i++){
    for(i = 0,i < arr1[i].length,j++){
        int a = 0;
        arr1[i][j] = a+1;
        a++;
    }
}

数组元素的默认初始化值

针对方式1,如:int[][] arr = new int[4][3]

外层元素的初始化值为地址值;

内层元素的初始化值为:与一维数组初始化情况相同

针对方式2,如:int[][] arr = new int[4][]

外层元素的初始化值为:null

内层元素的初始化值为:不能调用,否则报错

如果需要调用可以

arr[1] = new int[3]//这样就给数组第二行开辟了空间,这里需要理解new是开辟空间的,如果没有new就是赋了地址而且需要明确把谁的地址赋给他。new创建新的空间,同时把地址赋给了arr[1]