Java数组[i] ++ vs ++ array [i]

ato*_*ozh 2 java arrays indexing

我有一系列的整数:

private int array[];
Run Code Online (Sandbox Code Playgroud)

如果我还有一个名为add的方法,那么下面的区别是什么:

public void add(int value) {
   array[value]++; VS ++array[value];
}
Run Code Online (Sandbox Code Playgroud)

ps另外注意,int array []和int []数组有什么区别?谢谢

Mat*_*lár 6

int array []和int []数组有什么区别?

空无一人.这只是Java的convetion创建数组类似int[] array,它更清楚.

如果我还有一个名为add的方法,那么下面的区别是什么:

   public void add(int value) {
       array[value]++; VS ++array[value];
    }
Run Code Online (Sandbox Code Playgroud)

在这段代码中,没有任何区别.但一般的差异是:

int x = 5, y = 5;

System.out.println(++x); // outputs 6
System.out.println(x); // outputs 6

System.out.println(y++); // outputs 5
System.out.println(y); // outputs 6
Run Code Online (Sandbox Code Playgroud)

//编辑

正如Vince Emigh在下面的评论中所提到的那样,这也应该在答案中......

如你所知,++将数字增加1.如果你在变量之后调用它,你的程序将增加数字,如果需要的话(就像你在println params里面增加的那样),返回值在增加之前的值(导致你的5).在var之前添加它将导致程序立即增加值,并返回递增的值.如果你不立即使用变量,就像你打印出来的那样,那么它确实无关紧要,因为它们都会增加.

  • @AnubianNoob如你所知,`++`将数字增加1.如果你在变量之后调用它,你的程序将增加数字,如果需要的话(比如你在println params里面增加),返回值在增加之前(导致你的5).在var之前添加它将导致程序立即增加值,并返回递增的值.如果你不立即使用变量,就像你打印出来的那样,那么它确实无关紧要,因为它们都会增加 (2认同)