数组存储相同类型值的序列。
数组是一种数据结构,用来存储同一类型值的集合。
声明数组通过一个整型下标(index)或者称为索引,可以访问数组中的每一个值。
例如: 如果 a 是一个整型数组(int[]), a[i] 即为数组中下标为i的整数。
声明数组时需要指出数组类型(数据元素类型后紧跟 [] )以及数组名。
int[] a;
上述语句只声明了一个变量a,并没有将它真正初始化为一个数组,应该用new操作符创建数组:
int[] a = new int[100]; // 此语句声明并初始化了一个可以存储100个int型数据元素的数组。 //即声明格式为: // 数据类型[] 变量名 = new 数据类型[数组长度]
定义一个数组变量有两种方法:
int[] a;
int a[];
这里建议用第一种,因为它更加清晰更容易理解,它将变量名和数据类型分开
- 数组长度不要求是常量,即也可为变量。
- 一旦创建了数组,它的长度就固定了,不能再做改变,
- 数组元素的值可以任意改变
程序运行中需要经常扩展数组的大小,这时我们可以声明一个新的更大的数组,再将需要扩展的数组的元素拷贝到新的数组。
但是当需要扩展数组大小时我们应该使用另一种数据结构——数组列表(array list)
Java中,提供了叶子红创建数组对象并为其提供初始值的简写形式:
int[] a = {1, 2, 3, 4}
// 此语法不需要new,甚至不需要指定数组长度。
// 最后一个值后面允许有逗号。
注:数组允许重新初始化。
访问数组元素int[] a = new int[100]
此数组的下标是 0-99,而不是 1-100。
创建一个数组时:
- 所有元素都会被初始化为0
- boolean 数组的元素会被初始化为 false
- 对象数组的元素会被初始化为null,表示这些元素还未存放任何对象。
注:如果试图访问数组范围以外的数据eg: a[100],即越界,就会引发“array index out of bounds”异常。
要获取数组长度可以使用array.length。
for each 循环for each是Java中一种功能很强的循环结构,额可以用来依次处理数组或者其他元素集合中的每一个值,而不用去考虑下标值。
增强for循环的语句格式:
for (variable : collection) statement
for each 循环语句会遍历数组中的每一个元素
当然,使用传统的for循环也能实现相同的效果
但是for each的代码更加简洁,不易出错, 你可以不必担心下标的起始问题。
当然,for each只适用于遍历数组的所有元素的情况。很多情况下仍要使用传统的for循环。
利用Arrays类中的toString方法可以更加简单快速的打印数组中的所有元素。



