数组
1. 一位数组的声明方式
type[] array Name 或 type arrayName[];
(推荐使用第二种)
错误的声明方式
//int[5] intErrorArray;错误的
//int intErrorArray[5];错误的
2. 一维数组的创建
使用关键字new创建数组对象,格式为:数组名 = new 数组元素的类型 [数组元素的个数]
- 创建数组,如果在创建的同时不初始化数组则必须指定其大小
- 创建数组时,不指定数组大小则必须在创建的同时初始化数组
- 不可能只分配内容空间而不赋初始值,即使自己在创建数组对象(分配内容空间)时没有指定初始值,系统也会自动为其分配
3、一维数组的初始化
-
数组的初始化分为静态初始化、动态初始化和默认初始化:
-
静态初始化是数组在初始化时由程序员显式指定每个数组元素的初始值而数组长度由系统决定。
-
静态数组(指定内容)
- 标准类型:数据类型【】 数组名称 = new 数据类型【】 {元素1,元素二,……};
- 省略格式:数据类型【】数组名称 = {元素1,元素二,……};
-
-
动态初始化是数组在初始化时只指定数组长度,由系统为数组元素分配初始值。
-
动态数组(指定长度)
- 标准格式:数据类型【】 数组名称 = new 数据类型【数组长度】;
- 省略格式:数据类型【】数组名称 ;
-
-
错误写法:
- 静态初始化不能指定元素个数
- int intErrorArray5[] = new int[3]{50,51,52};错误的
- 动态初始化必须指定元素个数
- int intErrorArray6[] = new int[];
- 静态初始化不能指定元素个数
一维数组的两点总结:
- 数组声明的时候是不能指定大小的,也就是说等号左边的中括号中不能包含数字。另外一旦使用new关键字那么肯定在内存中为数组分配了空间,则必然数组有默认值。数组是对象数据类型
- 不要静态初始化和动态初始化同时使用,也就是说不要再进行数组初始化时,既指定数组长度,也为每个数组元素分配初始值
数组进行动态初始化时系统分配初始值的规则
- 数组元素类型是基本类型中的整数类型(byte、short、int、long),则数组元素的值是0
- 数组元素类型是基本类型中的浮点类型(float、double),则数组元素的值是0.0
- 数组元素类型是基本类型中的字符类型(char),则数组元素的值是'u0000'
- 数组元素类型是基本类型中的布尔类型(boolean),则数组元素的值是false
- 数组元素类型是基本类型中的引用类型(类、接口、数组),则数组元素的值是null