关于Java中自动增量运算符的简单问题

关于Java中自动增量运算符的简单问题,java,auto-increment,Java,Auto Increment,我知道,在C/C++中,自动增量运算符的含义不同,具体取决于它的应用位置,例如:integer=I++与integer=++I 在Java中,以下两个语句的含义是否相同 int i=1 driverVO.setUidString.valueOfi++//1号 driverVO.setUidString.valueOf++i//二? int x = 1; System.out.println(++x); // prints 2 int y = 1; System.out.println

我知道,在C/C++中,自动增量运算符的含义不同,具体取决于它的应用位置,例如:integer=I++与integer=++I

在Java中,以下两个语句的含义是否相同

int i=1

driverVO.setUidString.valueOfi++//1号

driverVO.setUidString.valueOf++i//二?

int x = 1;    
System.out.println(++x); // prints 2


int y = 1;
System.out.println(y++); // prints 1
它们的操作方式与C中的相同。Groovy对于执行快速java测试来说非常棒

是的,我意识到他们做了一些小改动,但在大多数情况下,如果在groovy中执行Java代码,它将像在Java中一样执行

它们的操作方式与C中的相同。Groovy对于执行快速java测试来说非常棒


是的,我意识到他们做了一些小改动,但在大多数情况下,如果在groovy中执行Java代码,它将像在Java中一样执行。在第一个示例中,我将在语句的其余部分之后递增


在第二个示例中,i将在它之前递增。

在第一个示例中,i将在语句的其余部分之后递增


在第二个示例中,我将在它之前递增。

这两个运算符之间还有一个实现差异

i++->它首先将i的值复制到临时空间,增加i并返回保存的值

++i->增加值并返回它


在这一点上我可能是错的,但是使用第二个操作符可能会有更好的性能,特别是如果我是一个对象。

这两个操作符之间也存在实现上的差异

i++->它首先将i的值复制到临时空间,增加i并返回保存的值

++i->增加值并返回它


我可能错了,但使用第二个可能会有更好的性能,特别是如果我是一个对象。

现在,这是我需要的工具!谢谢:现在,这是我需要的工具!谢谢:DDead on,但为了澄清,这应该分为两个示例:-int x=1;System.out.println++x;//打印2 System.out.printlnx;//打印2---int x=1;System.out.printlnx++;//打印1 System.out.printlnx;//打印2开始,但为了澄清,应将其分为两个示例:-int x=1;System.out.println++x;//打印2 System.out.printlnx;//打印2---int x=1;System.out.printlnx++;//打印1 System.out.printlnx;//prints 2I不能是java中的对象,++只为本机变量实现,我不认为是浮点。此外,运行时可能会做一些非常聪明的事情,例如,如果不使用结果,它甚至可能不会生成结果。我不希望它遵循与C++相同的规则,因为我不能成为java中的对象,++只针对本机变量实现,我不认为它适用于浮点。此外,运行时可能会做一些非常聪明的事情,例如,如果不使用结果,它甚至可能不会生成结果。我不会跟C++一样下赌注
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>