1 class ArrayDemo2
2 {
3 public static void main(String[] args)
4 {
5 /*int[] arr= new int[3];
6 System.out.println(arr[3]);
7 //ArrayIndexoutofBoundsException:3
8 //当访问到数组中不存在的角标时,就会在运行时发生该角标越界异常。*/
9 arr = null;//arr不在指向数组实体
10 System.out.println(arr[0]);
11 //NullPointerException:空指针异常
12 //当引用型变量没有任何实体指向时,还用改变量操作具体的实体时,就会发生异常
13
14
15 //这两个问题都是在运行时发生的,编译不会报错
16
17
18 }
19 }
20
21
22 class ArrAyDemo3
23 {
24 public static void main(String[] args)
25 {
26 /*
27 int[] arr = new int[3];
28
29 第二种定义方式:
30 在数组定义时,即明确了数组的长度,以及类型还明确元素的内容。
31 元素类型[] 数组名= new 元素类型[]{元素,元素,....};
32
33 */
34
35 int[] arr= new int[]{46,98,24};//后边中括号不用写元素长度
36 /*
37 数组中有几个元素,其实数组最清楚
38 可以通过数组实体具备的一个属性 length 直接获取到数组的长度(元素的个数)
39
40 */
41 System.out.println("length="+arr.length);
42 for (int x=0;x<arr.length ;x++ )
43 {
44 System.out.println(arr[x]);
45 }
46 /*
47 操作数组的核心思想:就是角标,通过角标就可以对数组中的元素进行访问:(设置和获取)
48
49 通常数组操作最基本的动作就是:遍历。通过循环操作数组
50 */
51 }
52 }