增量运算符java

时间:2013-08-27 19:04:05

标签: java

第一个索引++显示的值为“1”而不是“2”。

为什么值不会增加?

任何输入都会有所帮助。

    package scratch;

    class Feline {
        {
            index = 1;
        }
            int index;
          public static void main(String[] args) {
              new Feline().go();
          }

         void go(){
             System.out.println(index);
             System.out.println(index++);
             System.out.println(index++);
             System.out.println(index++);
         }
        }

Result:
1
1
2
3

2 个答案:

答案 0 :(得分:6)

因为您正在使用在增量变量之后发生的后增量运算符++。它的值是变量的当前值,之后会发生增量。

JLS 15.14.2 covers this:

  

[T]将值1添加到变量的值中,并且总和为   存储回变量。

  

后缀增量表达式的值是。的值   存储新值之前的变量。

在返回当前值后,它会增加。

System.out.println(index);

...只需打印1

System.out.println(index++);

...打印1 然后index增加到2

System.out.println(index++);

...打印2 然后index增加到3

System.out.println(index++);

...打印3 然后index增加到4

答案 1 :(得分:0)

这就是Post Increment所做的。

         System.out.println(index);
         System.out.println(index++);//printed index and  +1 to the index
         System.out.println(index++);
         System.out.println(index++);