小编sra*_*nia的帖子

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


 }
}
Run Code Online (Sandbox Code Playgroud)

我不能得到j打印0的部分.据作者说,

j=j++
Run Code Online (Sandbox Code Playgroud)

类似于

temp=j;
j=j+1;
j=temp;
Run Code Online (Sandbox Code Playgroud)

a=b++
Run Code Online (Sandbox Code Playgroud)

制作b 1.所以它应该像这样评估,

a=b
b=b+1
Run Code Online (Sandbox Code Playgroud)

遵循相同的逻辑,不应该

j=j++
Run Code Online (Sandbox Code Playgroud)

被评估为,

j=j
j=j+1
Run Code Online (Sandbox Code Playgroud)

这里的温度在哪里?任何解释都将非常感激."我对此深有所怀疑.;)>>提前致谢.

java post-increment

13
推荐指数
3
解决办法
7322
查看次数

标签 统计

java ×1

post-increment ×1