以下是Java中显而易见的常用数组声明和初始化。
int r[], s[]; //<-------
r=new int[10];
s=new int[10];
当[]
在声明语句中更改的位置时,非常相似的情况会有所不同,如下所示。
int []p, q[]; //<-------
p=new int[10];
q=new int[10][10];
请看报关单。的位置[]
已从更改r[]
为[]p
。在这种情况下,该数组的q
行为类似于一个类型为数组的数组int
(与前一种情况完全不同)。
问题: 为什么q
在此声明int []p, q[];
中将视为二维数组?
附加信息:
以下语法看起来很奇怪。
int []a[];
但是,这符合要求,并且行为类似于int a[][];
或int [][]a;
。
因此,以下情况都是有效的。
int [][]e[][][];
int [][][][][]f[][][][];
看一下JLS on
Arrays
:
的
[]
可能显示为在声明的开头所述类型的部分,或作为说明符用于特定变量,或两者的一部分。
和
声明符中允许使用括号来表示C和C ++的传统。但是,变量声明的一般规则允许括号同时出现在类型和声明符中,以便局部变量声明:
float[][] f[][], g[][][], h[]; // Yechh!
等效于一系列声明:
float[][][][] f; float[][][][][] g; float[][][] h;
因此,例如:
int []p, q[];
只是
int[] p, q[]
实际上是
int p[]; int q[][]
其余的都差不多。
问题内容: 我可以写: 我也可以写: 但我不能写: 为什么这会被Java阻止? 我知道如何解决它,但有时会更简单。 例如: 自从我学会了如何在Java中玩数组以来,这个简单的问题一直困扰着我。 问题答案: 为什么这会被Java阻止? 你必须询问Java设计人员。该限制可能有一些微妙的语法原因。请注意,某些数组创建/初始化结构不在Java 1.0中,而(IIRC)是在Java 1.1中添加的。 但是
问题内容: 如何在Java中声明和初始化数组? 问题答案: 你可以使用数组声明或数组文字(但只有当你立即声明并影响变量时,数组文字才能用于重新分配数组)。 对于原始类型: 例如,对于类,String是相同的: 当你首先声明数组然后对其进行初始化时,第三种初始化方法很有用。
如何在Java中声明和初始化数组?
当我在java中在方法之外的单独行上声明和构造一个数组时,我感到困惑,因此它将是一个实例变量,我得到一个编译错误,然而当我在一行上构造和初始化时,它是好的,为什么会发生这种情况? }
本文向大家介绍Java 数组声明、创建、初始化详解,包括了Java 数组声明、创建、初始化详解的使用技巧和注意事项,需要的朋友参考一下 一维数组的声明方式: type var[]; 或type[] var; 声明数组时不能指定其长度(数组中元素的个数), Java中使用关键字new创建数组对象,格式为: 数组名 = new 数组元素的类型 [数组元素的个数] 实例: TestNew.java: 程
问题内容: 看完之后,我才知道,是物体。数组的名称不是实际的数组,而只是引用。new运算符在堆上创建数组,并返回对新创建的数组对象的引用,然后将其分配给数组变量(名称)。类似于以下内容: 但是我也使用了这两种类型的数组声明。 和 以上两项均合法且可以正常工作。那么这两者之间有什么区别,我应该何时使用它们? 问题答案: 这将生成一个大小为5的数组,其中包含5个null元素: 如果这些值在编译时不是您