sa- 16、数组的定义:
- 概念:同一类型数据的集合。一个容器
- 格式1 元素类型[] 数组名 = new 元素类型[长度];
- int[] arr = new int[3];
- 定义了一个数组,但是元素未指定具体值(有默认值)
-
- class Test
- {
- public static void main(String[] sd)
- {
- int[] arr = new int[3];
- for(int i:arr)
- System.out.print(i+" ");
- System.out.println();
- }
- }
- 输出结果: 0 0 0
- String[] 默认值是 null
- char[] 默认值是 \u0000(字符串结束标志)
-
- 格式2 元素类型[] 数组名 = new 元素类型[]{元素1,元素2,...};
- int[] arr = new int[]{1,2,3};
- 定义容器,存储具体的数据,此时,不能再指定数组长度,否则报错
- java程序在运行是,需要在内存中分配空间。为了提高运算效率,又对空间进行了
- 不同区域的划分,每一片区域都有特定的处理数据方式和内存管理方式。
- 内存的划分:
- 1 寄存器
- 2 本地方法去
- 3 方法区
- 4 栈内存:用于存储局部变量,当变量所属的作用域一旦结束,所占空间会自动释放。
- 5 堆内存:数组和对象,通过new建立的实例都存放在堆内存中
- 每一个实体都有内存地址值。
- 实体中的变量都有默认初始化值,根据类型的不同而不同。 整数类型是0,小数类型是0.0或0.0f,boolean类
- 型是false,char类型是'\u0000'。
- 如果将数组的引用实体设置为null,也就是实体不再被使用,那么会在不确定的时间内被垃圾回收器回收。
- PS:1 空指针异常(NullPointerException):当引用型变量没有指向任何实体时,用其操作实体,就会发生该异常
- String[] line = null;
- System.out.println(line[0]);//NullPointerException
- 2 直接打印数组的引用变量,输出的是数组初始地址的哈希值。
- class Test
- {
- public static void main(String[] sd)
- {
- int[] arr = new int[2] ;
- System.out.println(arr);
- }
- }
- 输出结果: [I@659e0bfd
- "[I"表示的是int类型数组,"@"后面的内容表示数组初始地址的哈希值
复制代码
|
|