java数组声明和初始化

在写函数返回数组元素时遇到这样的语句:

return new int[] {1,2};

对其中{1,2}的语义难以理解,因为只见过 new int[2] 和int[] arr = {1,2}。放在一起就不认识了。

可以通过对其拆分来解释语义:

####1,什么是数组

An array is a container object that holds a fixed number of values of a single type.

数组是一个存放固定数量的单一类型的容器对象。

####2,数组的声明,定义和初始化

// declares an array of integers 声明一个整型数组

int[] anArray;

这个语句由两部分组成,一个是数组类型int,标明数组内存放的元素的类型,这里可以是任意其他类型,如double,string等。[]符号表示该元素是一个数组。一个是数组名anArray。

// create an array of integers 创建一个数组

anArray = new int[10];

// 给数组元素指定初始值的方式来创建一个数组

int[] anArray = { 
    100, 200, 300,
    400, 500, 600, 
    700, 800, 900, 1000
};

下面两句具有同样的效果

String[] array = {"element1","element2","element3"};
String[] array = new String[] {"element1","element2","element3"};

解析:

new int[2]; 

意思是申请一个存放int类型元素的数组空间,数组长度是2,采用默认值初始化,两个元素的值为0。

new int[] {1,2}; 

{}定义数组元素的内容,数组的长度是2,两个元素的值为1,2.