62,615
社区成员
发帖
与我相关
我的任务
分享
public static void main(String[] args) {
int j = 0;
for (int i = 0; i < 100; i++) {
// 这里是第赋值再执行运算,但是运算为什么没有执行?
j = j++;
}
System.out.println(j);
// --------------------
int x = 0;
for (int i = 0; i < 100; i++) {
// 这里是把上面的j=j++;改成了一下,按理论来说这两个应该是相同的结果吧。
// 先赋值再执行运算
x = x;
x++;
}
System.out.println(x);
// --------------------
int z = 0;
int y = 0;
for (int i = 0; i < 100; i++) {
// 这里把第一个改了一下,接收值的变量并非是自己改变了一下
y = z++;
}
System.out.println("z:" + z + ",y:" + y);
}
public static void main(String[] args) {
int j = 0;
for (int i = 0; i < 100; i++) {
// 这里是第赋值再执行运算,但是运算为什么没有执行?
j = j++;
//这里是后++,j++ = 0;所以j永远等于0。因为后++先赋值再++
}
System.out.println(j);
// --------------------
int x = 0;
for (int i = 0; i < 100; i++) {
// 这里是把上面的j=j++;改成了一下,按理论来说这两个应该是相同的结果吧。
// 先赋值再执行运算
x = x;
x++;
//这个跟上面的不同在于,x=x;赋值本身后,做了++运算,。而上面j每次都归0
}
System.out.println(x);
// --------------------
int z = 0;
int y = 0;
for (int i = 0; i < 100; i++) {
// 这里把第一个改了一下,接收值的变量并非是自己改变了一下
y = z++;
}
System.out.println("z:" + z + ",y:" + y);
}