小编典典

在数组声明int [] k,i和int k [],i中;

java

在声明数组时,我们可以在标识符的任何一侧使用方括号,但在以下情况下:

int[] k,i;

int k[],i;

将以两种不同的方式来考虑它。那是第一个创建两个数组k和i。第二个创建一个数组k和一个普通变量i。这是什么行为?

编辑: 在Java中,通常我们更喜欢第一类声明。但是在这种情况下,我们无法在单个语句中创建数组和原始变量。


阅读 223

收藏
2020-09-28

共1个答案

小编典典

我的 猜测 如下:

该声明int[] k更具逻辑性,因为它声明k为的 数组int。因此,它是Java中的首选(?)样式。

int k[]另一方面,是用C的方式声明此数组(K&R在声明语法时使用了不同的哲学–他们希望声明模仿对变量的 访问
)并简化C程序员的过渡,这种语法也是允许-没有伤害。

现在,在上面的语句中,您已经链接了两个声明。在第一种情况下,两个变量都使用相同的类型声明-
这显然是int[]。但是,在第二个代码中,此行为将是违反直觉的(并且也不同于C的行为),因此具有其他语义。

请记住,这纯粹是猜测。

2020-09-28