补漏
- while语句和if语句,for语句同,可以不加{},直接while(i<10);
1. 定义数组
- 分两个步骤:声明和初始化
- 之所以能够分开写,是因为new关键字分配空间
int[] arr=new int[3];
int[] arr1;
arr1=new int[2];
arr[0]=10;
System.out.println(arr[1]);
System.out.println(arr[0]);
2. 数组的其他两种定义格式
- 注意:下面第一种定义格式,[]中不能加任何数字,原因是后面的{}已经表明具体长度是多少了,没必要画蛇添足。另外就是如果写上了和后面的长度有不一致,也会出现问题。
- 下面的第二种方式,只能在声明的时候直接赋值,因为Java在底层有对应的处理机制,会动态的开辟空间。如果说初始化的时候直接赋值,而声明的变量是null,这样赋值是存在问题的
int[] arr=new int[]{1,2,3};
int[] arr1;
arr1=new int[]{2,3};
3.定义格式
int[] arr={1,2,3};
int[] arr1;
arr1={3,4,5};
3. 数组的三种遍历方式
int[] arr={2,4,8,2,9,0};
for(int i=0;i<arr.length;i++){
arr[i]+=2;
}
for(int i:arr){
i+=2;
}
for(int i:arr){
System.out.println(i);
}
System.out.println(Arrays.toString(arr));
4. 数组的扩容
class ArrayKuoRong{
public static void main(String[] args) {
int[] arr1={1,2,5,7};
arr1=Arrays.copyOf(arr1,arr1.length/2);
System.out.println(Arrays.toString(arr1));
}
}
5. 二维数组
- 数据类型[][] 数组名=new 数据类型[有几个一维数组][每个一维数组元素的个数];
int[][] arr=new int[2][3];
- 二维数组
数据类型[][] 数组名=new 数据类型[有几个一维数组][];
int[][] arr=new int[2][];//声明了两个一维数组
//初始化
arr[0]=new int[4];
arr[1]=new int[]{2,3,4}
arr[0]={1,2,3};//不可以 - 数据类型[][] 数组名={{元素值1,元素值2…},{元素值1,元素值2…}};(常用)
int[] [] arr={{1,2,3},{3,4,5}};
如果[]在数据类型的后面,随着数据类型修饰的变量一起去
修饰,如果[]在变量的后面就只能修饰这个变量 - 解析二维数组原理