我不认为自己不擅长编程,但自过去几天以来,有一些事情困扰着我。
int counter = 3;
++counter;
上面的代码是否与counter++;
相同。
它相似,但不相同。
在你的表达中没关系,但如果你有更复杂的东西,比如System.out.println(counter++)
,那会有很大的不同。
例如: int counter = 3;
System.out.println(counter++)
这将打印 3,然后将计数器递增到 4。
但是,如果您这样做
int counter = 3;
System.out.println(++counter)
它将打印 4,因为它在将值作为参数提供给打印函数之前递增。
这是何时执行增量的问题,前缀在其他操作之前执行它,后缀在其他操作之后执行它。它们有不同的优先级。