我知道从C / C ++开始,autoincrement运算符具有不同的含义,具体取决于它的应用位置(例如:integer = i ++ vs. integer = ++ i)。
在Java中,以下两个语句是否相同?
int i = 1
driverVO.setUid(将String.valueOf(I ++)); // 1?
driverVO.setUid(将String.valueOf(++ⅰ)); // 2?
答案 0 :(得分:3)
在第一个例子中,我将在声明的其余部分之后递增。
在第二个例子中,我将在它之前递增。
答案 1 :(得分:2)
int x = 1;
System.out.println(++x); // prints 2
int y = 1;
System.out.println(y++); // prints 1
答案 2 :(得分:2)
Groovy Shell (1.6.0, JVM: 1.6.0_05)
Type 'help' or '\h' for help.
-----------------------------------------------------
groovy:000> i=0
===> 0
groovy:000> j=0
===> 0
groovy:000> i++
===> 0
groovy:000> ++j
===> 1
groovy:000>
它们像在C中一样运行.Groovy对于执行快速java测试非常棒。
(是的,我意识到他们做了一些小改动,但在大多数情况下,如果你在groovy中执行Java代码,它将像在Java中一样执行)
答案 3 :(得分:0)
这两个运营商之间也存在实施差异。
i ++ - >它首先将i的值复制到临时空间,递增i并返回保存的值。
++ i->递增值并返回它。
我可能错了,但使用第二个可能会有更好的表现(特别是如果我是一个对象)。