数组
数组:是一个存储数据的一种数据结构,是相同类型元素的集合,存储的是多个相同类型的数据.
数组的定义
-
格式1:
数据类型[ ] 数组名 = new 数据类型[数组长度] 或
数据类型 数组名[ ] = new 数据类型[数组长度]int arr1[] = new int[10]; int[] arr2 = new int[10];
-
格式2:
数据类型[ ] 数组名 = new 数据类型[ ]{元素1,元素2,...}double[] arr3 = new double[]{1,2,3,4,5,6,7,8,9,10};
-
格式3:
数据类型[ ] 数组名 = {元素1,元素2,...}double[] arr4 = {1,2,3};
数组的元素访问:
通过下标访问数组中的元素。下标:0~数组长度-1
格式:
数组名[下标];
arr[0];
数组元素赋值
格式:
数组名[下标] = 值
arr[0] = 1;
arr[1] = 2;
...
部分数组类型默认值
//char型默认为" "/空格
char[] arr1 = new char[1];
System.out.println(arr1[0]);
//int型默认为0
int[] arr1 = new int[1];
System.out.println(arr1[0]);
//布尔型默认为false
boolean[] arr5 = new boolean[12];
System.out.println(arr5[0]);//结果是 false
int[] arr7 = null;
System.out.println(arr7[0]);//报错:NullPointerException空指针异常
数组的遍历
一个个去获取到数组中的每个元素
数组长度的获取:数组名.length
-
for循环遍历:不仅可以获取元素,还可以利用下标操作元素
//for循环遍历 快捷键:arr.fori + enter for (int i=0;i<arr.length;i++){ System.out.println(arr[i]); }
-
增强for循环遍历:单纯地在获取数组中元素
//增强for循环遍历,将arr的值赋给i,直接打印i for (int i : arr){ System.out.println(i); }
-
Arrays:数组的工具类 static toString(数组名):以字符串形式返回数组中的元素
System.out.println(Arrays.toString(arr));
数组的复制
-
System.arraycopy() 参数: 1.src:源数组 2.srcPos:源数组的起始下标 3.dest:目标数组 4.destPos:目标数组的起始下标 5.length:复制的长度
System.arraycopy(arr1,0,arr2,0,5);
- Arrays.copyOf()
参数:
1.original:要复制的数组
2.newLength:新数组长度int[] newArr = Arrays.copyOf(oldArr,5);