1 Static final
含义:从字面也可以知道,它代表Static与final二者的共同体。 可修饰:依旧是取二者的共同体,所以只能修饰成员变量、方法、内部类,被Static final修饰意义分别如下: (1)成员变量:属于类的变量且只能赋值一次。 (2)方法:属于类的方法且不可以被重写。 (3)内部类:属于外部类,且不能被继承
2 二维数组
① 静态初始化
int[][] arr={{1, 3, 5, 7},{4, 6, 9, 11},{1, 6, 8, 9}};//二维数组静态初始化,适用于已知值
System.out.println(arr[1][0]);
② 动态初始化
//确定array数组元素为数组,且确定了长度
int[][] array=new int[3][2];//创建了一个名为array的二维数组,长度为3,该数组中的三个元素是长度为2的数组,默认值为0
//没确定arrays数组元素为数组,且没确定长度,需要单独初始化
int[][] arrays=new int[3][];//创建了一个名为arrays的一维数组,长度为3
arrays[0]=new int[2];//arrays数组的第一个元素是数组,长度为2,默认值为0
arrays[0][0]=1;//给这个数组的第一个元素赋值1
arrays[0][1]=2;//给这个数组的第二个元素赋值2
System.out.println(arrays[0][1]);
System.out.println(arrays[1][1]);//由于arrays的其他元素并没有创建数组,所以默认值是null
③ 补充
(1)二维数组的第二维度的长度可以不同,但在大多数场景中,长度都是相同的
(2)二维数组的本质是一维数组,其中的元素也是数组
(3)二维数组是引用数组类型,需要进行初始化,不然会空指针异常,用哪个元素就对那个元素初始化
④ 二维数组的遍历:
嵌套循环,先遍历第一维度,并在内部遍历第二维度,你可以使用任何你熟悉的循环语法来实现遍历,例如: while、do.….while、for、增强for(foreach);内外层循环的语法也并不要求统一,一般内外层循环都使用for语法
int[][] arr={{1, 3, 5, 7},{4, 6, 9, 11},{1, 6, 8, 9}};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);//二维数组的本质是一维数组,这里的元素装的是地址,也是数组
for (int j = 0; j <arr[i].length ; j++) {
System.out.println(arr[i][j]);
}
}
3 for循环快捷方式
fori快捷键快速生成for循环,在循环内部再次使用fori会生成j的内循环
4 关于算数运算符
int a=7/2;//3
double b=7/2;//3.5