java,i=i++;

来源:百度知道 编辑:UC知道 时间:2024/09/20 18:36:19
int i=1;
i=i++;
System.out.println(i);
输出的为什么是1而不是2,++的优先级比=高呀?

i=i++意思是,先把右边i赋值给左边i,输出。然后,i+1,即此时,i=2
如果是i=++i,则是先把i值加1,然后再输出,此时,输出2

因为i++的+1运算是要到i下次出现的时候才会执行,就是说i++的值还是1,如果你不执行i=i++;改成int i=1;
System.out.print(i++);
System.out.println(i);
你会发现输出的是1 2,