ska*_*man 271
它们在语义上是相同的.该int array[]
只添加语法来帮助C程序员习惯的Java.
int[] array
是更可取的,而且不那么令人困惑.
Ada*_*eld 168
如果您碰巧在同一声明中声明了多个变量,则会有一点不同:
int[] a, b; // Both a and b are arrays of type int
int c[], d; // WARNING: c is an array, but d is just a regular int
Run Code Online (Sandbox Code Playgroud)
请注意,这是错误的编码风格,虽然编译器几乎肯定会在您尝试使用时捕获您的错误d
.
Tof*_*eer 52
没有区别.
我更喜欢type[] name
格式是显而易见的是变量是一个数组(少看看它是什么).
编辑:
哦等等有区别(我忘了,因为我从来没有一次声明多个变量):
int[] foo, bar; // both are arrays
int foo[], bar; // foo is an array, bar is an int.
Run Code Online (Sandbox Code Playgroud)
Ish*_*tar 27
不,这些都是一样的.然而
byte[] rowvector, colvector, matrix[];
Run Code Online (Sandbox Code Playgroud)
相当于:
byte rowvector[], colvector[], matrix[][];
Run Code Online (Sandbox Code Playgroud)
取自Java规范.这意味着
int a[],b;
int[] a,b;
Run Code Online (Sandbox Code Playgroud)
是不同的.我不会推荐这些多个声明中的任何一个.最容易阅读(可能)是:
int[] a;
int[] b;
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 24
[]可能在声明开头作为类型的一部分出现,或作为特定变量的声明者的一部分出现,或者两者都出现,如下例所示:
Run Code Online (Sandbox Code Playgroud)byte[] rowvector, colvector, matrix[];
该声明相当于:
Run Code Online (Sandbox Code Playgroud)byte rowvector[], colvector[], matrix[][];
就我个人而言,几乎所有我见过的Java代码都使用了第一种形式,通过将变量的所有类型信息保存在一个地方更有意义.我希望第二种形式不被允许,说实话......但这就是生活......
还好我不认为我曾经见过这个(有效)的代码:
String[] rectangular[] = new String[10][10];
Run Code Online (Sandbox Code Playgroud)
小智 19
这两个命令是一回事.
您可以使用语法声明多个对象:
int[] arrayOne, arrayTwo; //both arrays
int arrayOne[], intOne; //one array one int
Run Code Online (Sandbox Code Playgroud)
请参阅:http://java.sun.com/docs/books/jls/second_edition/html/arrays.doc.html
Aar*_*paa 11
没有真正的区别; 然而,
double[] items = new double[10];
Run Code Online (Sandbox Code Playgroud)
是优选的,因为它清楚地表明该类型是一个数组.
两者都同样有效.int puzzle[]
然而,不鼓励使用该表格,int[] puzzle
根据编码惯例,这是优选的.另请参阅官方Java数组教程:
同样,您可以声明其他类型的数组:
Run Code Online (Sandbox Code Playgroud)byte[] anArrayOfBytes; short[] anArrayOfShorts; long[] anArrayOfLongs; float[] anArrayOfFloats; double[] anArrayOfDoubles; boolean[] anArrayOfBooleans; char[] anArrayOfChars; String[] anArrayOfStrings;
您还可以在数组名称后面放置方括号:
Run Code Online (Sandbox Code Playgroud)float anArrayOfFloats[]; // this form is discouraged
但是,公约不鼓励这种形式; 括号标识数组类型,并应显示类型名称.
注意最后一段.
我建议阅读官方的Sun/Oracle教程,而不是一些第三方教程.否则你最终会冒险学习不良做法.
它是一种替代形式,它借鉴了C
java所基于的形式.
作为一种好奇心,有三种方法可以main
在java中定义一个有效的方法:
public static void main(String[] args)
public static void main(String args[])
public static void main(String... args)