post increment operator java
我无法通过joshua bloch的“java puzzlers”来制作以下代码的正面或反面。
public class Test22{ public static void main(String args[]){ int j=0; for(int i=0;i<100;i++){ j=j++; } System.out.println(j); //prints 0 int a=0,b=0; a=b++; System.out.println(a); System.out.println(b); //prints 1 }}
我不能得到j打印0的部分。据作者说,
j=j++
类似于
temp=j;j=j+1;j=temp;
但
a=b++
制作b 1.所以它应该像这样评估,
a=b b=b+1
遵循相同的逻辑,不应该
j=j++
被评估为,
j=j j=j+1
这里的温度在哪里?任何解释都将非常感激。“我对此深有所怀疑。;)>>提前致谢。
九州编程
FFIVE
相关分类