数组概要
数组用来存储多个数据的,每个数组元素只能存放一个数据,通过数组元素的索引值来访问数组元素。
所有数组元素都具有相同的数据类型,也就是说数组存储的数据类型只能有一种。
数组初始化后,才会为其分配内存,所以数组必须初始化,且长度不可以改变。哪怕数组元素消失,其内存空间依然存在。
数组既可以存储基本类型的数据,也可以存储引用类型的数据。
定义数组:
定义数组可以分为一下两种方式:
type[] arrayName;
type arrayName[];
推荐使用第一种。
初始化数组:
分为以下两种:
静态初始化:显示指定每个数组元素的初始值,由jvm决定其长度。
格式:
arryName = new type(元素1,元素2.......);
动态初始化:只指定数组长度,由jvm为其分配初始值。
格式:
arrayName = new type[length];
jvm分配初始值,一般是按照类型决定的,数值型的初始值为0,布尔类型为false,引用类型为null。
使用数组
数组的索引值从0开始,到length-1结束。
如果索引值小于0或者大于length的话,会出现java.lang.ArrayIndexOutOfBoundsException:N,这就是数组索引出界导致异常,而N为错误的索引值。
foreach循环
使用数组一般都需要遍历来访问或输出每个数组元素,而java5之后提供了一个简单遍历循环方式:foreach循环。
格式:
for(type variableName : array)
{
//访问或输出语句
}
foreach循环会将array数组内的数组元素依次传给variableName。
public class ForEachTest
{
public static void main(String[] args)
{
String[] books = {"Java编程思想" ,
"疯狂Java讲义",
"effective Java"};
// 使用foreach循环来遍历数组元素,
// 其中book将会自动迭代每个数组元素
for (String book : books)
{
System.out.println(book);//依次输出books数组内的元素。
}
}
}