在操作数组时,经常需要依次访问数组中的每个元素,这种操作称作数组的遍历
1 public class ArrayDemo04 { 2 public static void main(String[] args) { 3 int[] arr = { 1, 2, 3, 4, 5 }; // 定义数组 4 // 使用for循环遍历数组的元素 5 for (int i = 0; i < arr.length; i++) { 6 System.out.println(arr[i]); // 通过索引访问元素 7 } 8 } 9 }
数组的常见问题
数组的遍历、最值的获取、数组的排序
数组最值
在操作数组时,经常需要获取数组中元素的最值
例:
1 public class ArrayDemo05 { 2 public static void main(String[] args) { 3 int[] arr = { 4, 1, 6, 3, 9, 8 }; // 定义一个数组 4 int max = arr[0]; // 定义变量max用于记住最大数,首先假设第一个元素为最大值 5 // 下面通过一个for循环遍历数组中的元素 6 for (int x = 1; x < arr.length; x++) { 7 if (arr[x] > max) { // 比较 arr[x]的值是否大于max 8 max = arr[x]; // 条件成立,将arr[x]的值赋给max 9 } 10 } 11 System.out.println("max=" + max); // 打印最大值 12 } 13 } 14 结果:最大值是9
数组异常
数组越界异常
在访问数组的元素时,索引不能超出这个数组的范围,否则程序会报错
空指针异常
在使用变量引用一个数组时,变量必须指向一个有效的数组对象,如果该变量的值为null,则意味着没有指向任何数组,此时通过该变量访问数组的元素会出现空指针异常
例:
1 public class ArrayDemo07 { 2 public static void main(String[] args) { 3 int[] arr = new int[3]; // 定义一个长度为3的数组 4 arr[0] = 5; // 为数组的第一个元素赋值 5 System.out.println("arr[0]=" + arr[0]); // 访问数组的元素 6 arr = null; // 将变量arr置为null 7 System.out.println("arr[0]=" + arr[0]); // 访问数组的元素 8 } 9 } 10 结果:arr[0] =5; 11 ........异常