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

时间:2014-05-03 23:51:01

标签: java arrays indexing

我有一系列的整数:

private int array[];

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

public void add(int value) {
   array[value]++; VS ++array[value];
}

P.S。另外,int array []和int []数组有什么区别? 感谢

2 个答案:

答案 0 :(得分:6)

  

int array []和int [] array之间的区别是什么?

没有。它只是 java convetion 来创建像int[] array这样的数组,它更清晰。

  

如果我还有一个名为add的方法,那么它们之间的区别是什么   以下内容:

   public void add(int value) {
       array[value]++; VS ++array[value];
    }

在此代码中,没有任何区别。但总的来说差异是:

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

<强> //修改

如下面评论中提到的Vince Emigh,这也应该是答案......

  

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

答案 1 :(得分:3)

此示例将使预增量和后增量更清晰 在预增量中,值在操作之前递增,在后增量中在操作之前完成。

        arr[0]=1;
        int var1=arr[0]++;
        System.out.println(var1);
        arr[0]=1;
        int var2=++arr[0];      
        System.out.println(var2);

这里我正在做一个赋值,如果我有一个增量后,增量发生在赋值之后。如果我有一个预增量,则增量发生在赋值之前

输出

1
2