我不认为自己在编程方面表现不佳,但过去几天以来一直困扰着我。
int counter = 3;
++counter;
以下代码是否与counter++;
相同。
答案 0 :(得分:6)
类似,但不一样。
在你的表达中它并不重要,但是如果你有更复杂的东西,比如System.out.println(counter++)
,它会产生很大的不同。
例如:
int counter = 3;
System.out.println(counter++)
这将打印3,然后将计数器增加到4。
但是,如果你这样做
int counter = 3;
System.out.println(++counter)
它将打印4,因为它在将值作为参数提供给打印函数之前递增。
这是一个关于何时执行增量的问题,前缀在其他操作之前执行,postfix在执行之后执行。它们有不同的优先权。