目录
1、定义
2、初始化
3、简单 *** 作
(1)输出数组长度
(2)获取数据
(3)遍历数组
使用 for 循环遍历
使用 for each循环遍历数组
使用 *** 作数组的工具类 Arrays
(4)数组排序
(5)数组填充值
全部填充同一值
部分填充
4、认识 null
5、数组作为方法的返回值
6、拷贝数组
1、定义
一组连续的空间,存放的是一组相同数据类型的数据
2、初始化// 动态初始化
数据类型[ ] 数组名称 = new 数据类型 [ ] { 初始化数据 };
例:int [ ] arr = new int [ ]{1, 2, 3};
int [ ] arr = new int [ 3 ]; //此时数组的长度为3 默认储存的值为0
// 静态初始化
数据类型 [ ] 数组名称 = { 初始化数据 }; 例: int [ ] arr = { 1 , 2 , 3 };
注:静态初始化的时候, 数组元素个数和初始化数据的格式是一致的.
3、简单 *** 作注:此部分的 *** 作默认已初始化数组 array()
(1)输出数组长度System.out.println(array.length);
下标访问 *** 作不能超出有效范围 [0, length - 1] , 如果超出有效范围, 会出现下标越界异常
(2)获取数据(3)遍历数组System.out.println(array [ 0 ]); //获取0下标的数据
使用 for 循环遍历
for(int i=0;i
System.out.println(array [ i ]);
}
使用 for each循环遍历数组
for( int val : array){ // 此处第一个参数为与数组同数据类型的变量 第二个参数为数组名
System.out.println(val);
}
使用 *** 作数组的工具类 Arrays
String ret = Arrays.toString(array);
System.out.println(ret);
使用此方法时 要使用如下语句导包:
import java.util.Arrays;(4)数组排序
(5)数组填充值Arrays.sort(array);
全部填充同一值
Arrays.fill(array,99); //第一个参数为数组名,第二个参数为填充值
部分填充
Arrays.fill(array,3,6,99) // 第一个参数 为数组名 第二个参数为起始填充位置 第三个 为终止填充位置 第四个参数为 填充值
填充位置近似于左闭右开的区间[3,6),即就是从3下标开始填充到5下标终止
4、认识 null null 在 Java 中表示 " 空引用 " , 也就是一个无效的引用int [ ] arr = null ; System . out . println ( arr [ 0 ]); // 执行结果 Exception in thread "main" java . lang . NullPointerException at Test . main ( Test . java : 6 )null 的作用类似于 C 语言中的 NULL ( 空指针 ), 都是表示一个无效的内存位置 . 因此不能对这个内存进行任何读写 *** 作. 一旦尝试读写 , 就会抛出 NullPointerException. 5、数组作为方法的返回值
代码示例 : 写一个方法 , 将数组中的每个元素都 * 2
// 直接修改原数组 class Test { public static void printArray(int[] arr) { for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } } public static void transform(int[] arr) { for (int i = 0; i < arr.length; i++) { arr[i] = arr[i] * 2; } } public static void main(String[] args) { int[] arr = {1, 2, 3}; transform(arr); printArray(arr); } }
// 返回一个新的数组 class Test { public static void printArray(int[] arr) { for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } } public static int[] transform(int[] arr) { int[] ret = new int[arr.length]; for (int i = 0; i < arr.length; i++) { ret[i] = arr[i] * 2; } return ret; } public static void main(String[] args) { int[] arr = {1, 2, 3}; int[] output = transform(arr); printArray(output); } }6、拷贝数组
(1)数组名.clone();
int [ ] 数组名 ={ };
int reet = 数组名.clone;
(2)拷贝指定长度数组
Arrays.copyOf( int [ ] 数组名 , length);
当长度大于拷贝数组长度时补0
(3)拷贝一段数据
Arrays.copyOfRange(int [ ] 数组名,int from, int to); //from为起始位置 to为终点位置
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)