定义数组:
类型[] 数组名 =new 类型[数组长度];
//定义了一个长为10的数组 数组里存储元素的类型是int
int [] arr =new int [10];arr[0]=90;//0表示下标
double[] brr =new double[5];
数组里的变量都和数组名同名,只能通过下标的形式来区分每一个变量。
下标:是从0开始递增,到数组长度-1
下标不要越界
数组名.length 可以获得数组的长度
Arrays.toString(数组名);
把数组里面的元素转换为一个字符串
Arrays.copyOf(数组名,数组长度);
如果是对数组扩容,
int[] arr = new int []{1,2,3,4,5,6,7,8,9};
int[] brr = Arrays.copyOf(arr,5);//arr不变 brr只取到arr的前5个元素
int[] crr = Arrays.copyOf(arr,15);//arr不变 brr只取到arr的前9个元素,之后全为0
二维数组:
数据类型[][] 数组名=new 数据类型[二维数组长度][一维数组长度]
int[][] arr=new int[3][4] //3行4列
arr[0] =new int[2];二维数组第一行保存一维数组的元素(长度为2)
arr[0] =new int[]{1};
arr长度为3 每一个元素是引用一个长度为4的以为数组
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
输出的是三个引用地址;
System.out.println(Arrays.toString[arr]);
输出的是arr的每行;
int[] arr=new int[4]; //长度为4
int[][] arr=new int[4][];
int[] grr=mer(arr,brr);//arr引用后面数组的地址
int[] arr= {1,2,3,4,5,6};//arr引用后面数组的地址
arr =new int[]{1,2,3,4,7,8,6};//arr引用后面数组的地址给arr数组存值
System.out.println(Arrays.toString(grr));
Arrays.toString(grr) //输出grr 引用地址上的数组的地址 每个元素的地址
----------------------
for(int i=0;i<arr.length;i++) {
System.out.println(Arrays.toString(arr[i]));
}//遍历二维数组 将每个一维数组中的 元素打印
[1, 4, 7]
[2, 5, 8]
[3, 6, 9]
----------------------
for(int i=0;i<arr.length;i++) {
System.out.println(arr);
}//此输出的是arr所引用的 地址
一维数组:
类型[] 数组名 = new 类型[数组长度];
类型[] 数组名 = {v1,...};
类型[] 数组名 = new 类型[]{v1,v2,....};
下标:从0开始,到数组长度-1
数组名[下标] 访问数组里的元素
数组长度: 数组名.length
for(int i=0;i<数组名.length;i++){
数组名[i]
}
二维数组:
类型[][] 数组名 = new 类型[二维数组长度][一维数组长度];
int[][] crr = new int[3][4];
当访问一个没有引用具体对象的引用变量时将引发以下异常:
java.lang.NullPointerException