第一个索引++显示的值为“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
答案 0 :(得分:6)
因为您正在使用在增量变量之后发生的后增量运算符++
。它的值是变量的当前值,之后会发生增量。
[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++);