概述
Java中定义数组的语法有两种:
type arrayName[];
type[] arrayName;
type为Java中的任意数据类型,包括基本类型和组合类型,arrayName为数组名,必须是一个合法的标识符,[]指明该变量是一个数组类型变量。例如
int demoArray[];
int[] demoArray[];
这两种形式没有区别,使用效果完全一样。
与C、C++不同,Java在定义数组时并不为数组元素分配内存,因此[]中无需指定数组元素的个数,即数组长度。而且对于如上定义的一个数组是不能访问它的任何元素的,必须要为它分配内存空间,这时要用到运算符new,其格式如下:
arrayName = new int[3];
为一个整型数组分配3个int型整数所占据的内存空间。
通常,可以在定义的同时分配空间,语法为:
type arrayName[] = new type[arraySize];
例如:
int demoArray[] = new int[3];
数组的初始化
-
静态初始化
int[] intArray = {1,2,3,4};
String[] stringArray = {"张三", "李四", "王五", "赵六"};
-
动态初始化
float[] floatArray = new float[3];
floatArray[0] = 1.0f;
floatArray[1] = 132.63f;
floatArray[2] = 100f;
数组引用及遍历
可以通过下标来引用数组:
arrayName[index];
与C、C++不同,Java对数组元素要进行越界检查以保证安全性。
int[] arrayDemo = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for(int i = 0; i < arrayDemo.length; i++) {
System.out.println(arrayDemo[i] + ", ");
}
Java提供了“增强版”的for循环,专门用来遍历数组,语法为:
for(arrayType varName : arrayName){
//doSomething
}
arrayType为数组类型(也是数组元素的类型);varName是用来保存当前元素的变量,每次循环它的值都会改变;arrayName为数组名称。