1 数组类型
可用于存储多个数据,每个数组元素存放一个数据,通常可通过数组元素的索引来访问数组元素,包括为数组元素赋值和取出数组元素的值。
1.1 理解数组:数组也是一种类型
Java的数组要求所有的数组元素具有相同的数据类型。
一旦数组的初始化完成,数组在内存中所占的空间将被固定下来,因此数组的长度将不可改变。即使把某个数组元素的数据清空,但它所占的空间依然被保留,依然属于该数组,数组的长度依然不变。
Java的数组即可存储基本数据类型的数据,也可以存储引用类型的数据,只要所有的数组元素具有相同的类型即可。
值得指出的是,数组也是一种数据类型,它本身是一种引用类型。例如int是一个基本类型,但int[]就是一种引用类型了。
1.2 定义数组
Java语言支持两种语法格式来定义数组
Type[] arayName;
Type arrayName[];
数组是一种引用类型的变量,因此使用它定义一个变量时,仅仅表示定义了一个引用变量(也就是定义了一个指针),这个引用变量还未指向任何有效的内存,因此定义数组时不能指定数组的长度。而且由于定义数组只是定义了一个引用变量,并未指向任何有效的内存空间,所以还没有内存空间来存储数组元素,因此这个数组也不能使用,只有对数组进行初始化后才可以使用。
定义数组时不能指定数组长度。
1.3 数组的初始化
Java语言中数组必须先初始化,才可以使用。
所谓初始化,就是为数组的数组元素分配内存空间,并为每个数组元素赋值。
数组的初始化有如下两种方式:
静态初始化:初始化时由程序员显示指定每个数组元素的初始值,由系统决定数组长度。
动态初始化:初始化时由程序员指定数组长度,由系统为数组元素分配初始值。
1、 静态初始化
arrayName = new type[]{ele1,ele2,ele3….}
arrayName = { ele1,ele2,ele3….}
int[] a ={1,4,3,2};
2、 动态初始化
动态初始化只指定数组的长度,由系统为每个数组元素指定初始值。
arrayName = new type[ length ];
执行动态初始化时,程序员只需指定数组的长度,即为每个数组元素制定所需的内存空间,系统负责为这些数组分配初始值。指定初始值时,系统按如下规则分配初始值:
byte,short,int,long -------- 0
Float,double ------------- 0.0
Char --------------- \u0000
Boolean ----------- false
类,接口,数组 ------ null
数组初始化完成后,就可以使用数组了,包括为数组元素赋值,访问数组元素和获取数组长度。
1.4 使用数组
数组索引从0开始
所有的数组都提供了length属性,通过这个属性可以访问数组的长度。
1.5 Foreach循环
这种循环遍历数组和集合更加简洁。
For(type variableName : array | collection){
…
}
public static void main(String[] args){ String[] books = {"java","php"}; for(String book : books ){ System.out.println(book); } } |