请问下面代码中的 i 跟 j 最后分别是多少
public class Test{public static void main(String[] args){
int i = 0;
int j = 0;
j = i++;
System.out.println("i等于 :" + i + " j等于:" + j);
}
}
为什么最后结果j是0啊,纳闷了 --------------------编程问答--------------------
可以改为下面的。
int i = 0;--------------------编程问答-------------------- i++的意思是先取值 再+1
int j ;
i++;
j = i;
System.out.println("i等于 :" + i + " j等于:" + j);
也就是说先把i的值赋给了j 即j=0
然后i自身再加1 即i=1
--------------------编程问答-------------------- j = i++; 这个 先赋值。然后再运算i --------------------编程问答-------------------- j = i++; 这个先把i赋值给j,然后再运算i
若 j = ++i; 则先运算i,然后把i赋值给j --------------------编程问答-------------------- 如果把j换成i的话,i也是0了,这个想不通 --------------------编程问答-------------------- 哦,知道了,刚刚被一个题搞乱了 --------------------编程问答-------------------- 恩,知道了谢谢 --------------------编程问答--------------------
把j换成i的话
如果把j换成i的话,i也是0了,这个想不通
i++的意思是先取值 再+1
也就是说先把i的值赋给了j 即j=0
然后i自身再加1 即i=1
http://blog.csdn.net/brooksychen/article/details/1624753
可以看下这个
--------------------编程问答--------------------
j = i++; 这个先把i赋值给j,然后再运算i
若 j = ++i; 则先运算i,然后把i赋值给j
本来一开始是i=i++,被这个弄凌乱了,这个i最后怎么是0 啊
j = i++; 这个先把i赋值给j,然后再运算i
若 j = ++i; 则先运算i,然后把i赋值给j
若 j = ++i; 则先运算i,然后把i赋值给j --------------------编程问答--------------------
如果把j换成i的话,i也是0了,这个想不通
i++的意思是先取值 再+1
也就是说先把i的值赋给了j 即j=0
然后i自身再加1 即i=1
把j换成i的话
如果把j换成i的话,i也是0了,这个想不通
i++的意思是先取值 再+1
也就是说先把i的值赋给了j 即j=0
然后i自身再加1 即i=1
http://blog.csdn.net/brooksychen/article/details/1624753
可以看下这个
恩,怎么说呢,这是一个歧义代码吧,真不好解释。不同的语言可能会有不同的结果。
本来一开始是i=i++,被这个弄凌乱了,这个i最后怎么是0 啊
j = i++; 这个先把i赋值给j,然后再运算i
若 j = ++i; 则先运算i,然后把i赋值给j
i++的意思是先取值 再+1
也就是说先把i的值赋给了j 即j=0
然后i自身再加1 即i=1
补充:Java , Java SE