数组
是一种容器,可以同时存放多个数据值.
特点
1.是引用类型 (引用类型----->导包,调关键字,调方法)
2.数据类型必须统一
3.长度在运行过程中不可改变
数组的初始化:在内存中创建一个数组,并且向其中赋予一些默认值
两种常见初始化格式 :
1.动态初始化 (指定长度)----->直接指定数组中的数据元素个数
格式 :数据类型[ ] + 数组名称 = new + 数组类型[数组长度];
int[] a = new int[5]; 5为数组长度
2.静态初始化 (指定内容)----->不直接指定数组中数据个数,而是直接将具体的数据内容指定
标准格式: 标准格式: 数据类型[ ] + 数组名称 = new + 数组类型[ ]{数据1,数据2,数据3…};
int[] a = new int[]{数据1,数据2,数据3,数据4,数据5};
省略格式:省略格式: 数据类型[ ] + 数组名称 = {数据1,数据2,数据3…};
int[] a = {数据1,数据2,数据3,数据4,数据5};
数组长度获取格式: 数组名称.length
int[] a ={数据1,数据2,数据3,数据4,数据5};
int len = a.length
注意事项:
1.动态初始化也可以拆分为两个步骤;
int[] a ;
a = new int[s]; 5为数组长度**加粗样式**
2.静态初始化没有直接指定长度,但是仍然会自动推算得到长度.
3.静态初始化标准格式可以拆成两个步骤;
int[] a ;
a = new int[]{数据1,数据2,数据3,数据4,数据5};
4.静态初始化一旦使用省略格式,就不能拆分为两个步骤
使用建议:
如果不确定数组中的具体内容,用动态初始化;已经确认了具体内容,用静态初始化.
注:如果直接打印数组名称,得到的是数组对应内存地址哈希值
使用动态初始化数组的时候,其中的元素将会自动拥有一个默认值.规则如下
整数类型-----------------默认值为 0;
浮点类型-----------------默认值为 0.0
字符型类型--------------默认值为 ‘\u0000’;
布尔型类型--------------默认值为 false;
引用型类型--------------默认值为 null;
异常:
1.索引越界异常: 如果访问数组元素时,索引编号不存在,那么将会发生索引越界异常
2.空指针异常: 数组必须进行new初始化才能使用其中的元素.如果只是赋值一个null,没有进行new 创建,那么将会发生空指针异常 (NullPointerException).
遍历:
就是对数组中每个元素进行逐一处理,默认处理方式为打印输出
for(int i = 0; i < 长度; i++){
System.out.println(i);
}