黑马程序员技术交流社区
标题:
数组的知识
[打印本页]
作者:
fmi110
时间:
2015-8-16 21:55
标题:
数组的知识
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类型数组,"@"后面的内容表示数组初始地址的哈希值
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2