Я не могу сделать головы или хвосты следующего кода из "java puzzlers" от joshua bloch.
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
Где температура здесь появляется? Любые объяснения будут высоко оценены. & Л; < Я ломаю голову над этим.;) → Спасибо заранее.