Type[] variableName = new Type[capacity];
Type[] variableName = {comma-delimited values};
Type variableName[] = new Type[capacity];
Type variableName[] = {comma-delimited values};
也是有效的,但我更喜欢类型后面的括号,因为更容易看出变量的类型实际上是数组
# 3 楼答案
您可以使用数组声明或数组文字(但仅当您立即声明并影响变量时,数组文字不能用于重新分配数组)
对于基本类型:
int[] myIntArray = new int[3];
int[] myIntArray = {1, 2, 3};
int[] myIntArray = new int[]{1, 2, 3};
// Since Java 8. Doc of IntStream: https://docs.oracle.com/javase/8/docs/api/java/util/stream/IntStream.html
int [] myIntArray = IntStream.range(0, 100).toArray(); // From 0 to 99
int [] myIntArray = IntStream.rangeClosed(0, 100).toArray(); // From 0 to 100
int [] myIntArray = IntStream.of(12,25,36,85,28,96,47).toArray(); // The order is preserved.
int [] myIntArray = IntStream.of(12,25,36,85,28,96,47).sorted().toArray(); // Sort
对于类,例如String,它是相同的:
String[] myStringArray = new String[3];
String[] myStringArray = {"a", "b", "c"};
String[] myStringArray = new String[]{"a", "b", "c"};
# 1 楼答案
有两种类型的数组
一维阵列
默认值的语法:
或(不太受欢迎)
给定值的语法(变量/字段初始化):
或(不太受欢迎)
注意:为了方便起见,int[]num更可取,因为它清楚地表明您在这里谈论的是数组。否则没有区别。一点也不
多维数组
声明
或
或
初始化
或
不规则阵列(或非矩形阵列)
因此,这里我们显式地定义列
另一种方式:
访问:
或者:
不规则数组是多维数组
有关说明,请参见the official java tutorials中的多维数组详细信息
# 2 楼答案
也是有效的,但我更喜欢类型后面的括号,因为更容易看出变量的类型实际上是数组
# 3 楼答案
您可以使用数组声明或数组文字(但仅当您立即声明并影响变量时,数组文字不能用于重新分配数组)
对于基本类型:
对于类,例如
String
,它是相同的:当您先声明数组,然后对其进行初始化、将数组作为函数参数传递或返回数组时,第三种初始化方法非常有用。显式类型是必需的
# 4 楼答案
以下显示了数组的声明,但数组未初始化:
下面显示了数组的声明和初始化:
现在,下面还显示了数组的声明和初始化:
但是第三个显示了匿名数组对象创建的属性,它由一个引用变量“myIntArray”指向,因此如果我们只写“newint[]{1,2,3};”这就是匿名数组对象的创建方式
如果我们只写:
这不是数组的声明,但以下语句使上述声明完成:
# 5 楼答案
我发现,如果您了解每个部分,这会很有帮助:
Type[]
是变量被称为name的类型(“name”被称为标识符)。文字“Type”是基类型,括号表示这是该基的数组类型。数组类型是它们自己的类型,这允许您创建多维数组,如Type[][]
(类型[]的数组类型)。关键字new
表示为新数组分配内存。括号之间的数字表示新阵列的大小以及要分配的内存量。例如,如果Java知道基类型Type
需要32个字节,并且您想要一个大小为5的数组,那么它需要在内部分配32*5=160个字节您还可以使用已经存在的值创建数组,例如
这不仅会创建空空间,还会用这些值填充它。Java可以判断原语是整数,并且有5个,因此可以隐式地确定数组的大小
# 6 楼答案
可以通过多种方式在Java中声明数组:
您可以在Sun tutorial站点和JavaDoc中找到更多信息