好奇怪的问题 [cord]int i=1;i=i++;print(i);[/cord]打印出来的为什么是1而不是2? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 i++是这样的,一上来i=1;在做i=i++之前,i先把它的值赋给一个临时变量比如说叫x,此时i=〉x;然后i++,这时候i=2了;但怎么体现“先操作后自增”呢?奥秘就在这:最后再把x赋给i,x=〉i,所以这个时候i又等于1了。咱们防止混淆,可以这样int i = 1; a = i++; print(a);一上来i=1;在做a=i++之前,i先把它的值赋给一个临时变量x,此时i=〉x,x=1了;然后i++,这时候i=2了;最后再把x赋给a,x=〉a,所以这时a=1。所以表面上看上去是先做了赋值操作 之后再作自增操作!以上仅供参考 很简单 把这个代码给你拆开看你就明白了int i =1;i = i ;i+1; 加1后没有赋给任何变量 所以i的值不变print(i);因为i的值没有变 所以输出的还是1其实也就是说 i = i++ 相当于 i = i ; i+1; j=i++;是先赋值,再增加1j=++i;是先增加1,再赋值 以下是楼上说的话其实也就是说 i = i++ 相当于 i = i ; i+1; 问 如果i = i++ 相当于 i = i ; i+1; 那么j = i++ 相当于 j = i ; i+1; 喽?显然是不对的i++和++i等我都知道,我不是初学者,我就是想不通i++有时是不是违背了先赋值后自增的说法了 那么j =i++ 相当于 j = i ; i+1; 喽?是这样的 怎么看出来显然是不对的呢? private属性 java中数据类型的转换 请问java里哪个数据结构类有能让元素交换的方法? ###书上的一个信息隐藏的例子,请各位高手进来关注一下!! 谢谢~~~~~ 谁有ant的资料? 一个菜鸟请教内存占用的问题 高分求:怎样调节Jbuider9中设置,使光标显示在最后键入的字符的后面 请教各为高手Base64编码问题 请问在JAVA中如何调用外部程序并输入信息实现某些功能??? SQL Server 7.0或2000 的jdbc驱动程序中提供了连接池的实现吗? 一个菜鸟问题,请各位帮忙!!! 本人菜鸟,问个问题,关于如何运行。
在做i=i++之前,i先把它的值赋给一个临时变量比如说叫x,此时i=〉x;
然后i++,这时候i=2了;
但怎么体现“先操作后自增”呢?奥秘就在这:最后再把x赋给i,x=〉i,所以这个时候i又等于1了。
咱们防止混淆,可以这样int i = 1;
a = i++;
print(a);一上来i=1;
在做a=i++之前,i先把它的值赋给一个临时变量x,此时i=〉x,x=1了;
然后i++,这时候i=2了;
最后再把x赋给a,x=〉a,所以这时a=1。所以表面上看上去是先做了赋值操作 之后再作自增操作!
以上仅供参考
因为i的值没有变 所以输出的还是1其实也就是说 i = i++ 相当于 i = i ; i+1;
j=++i;是先增加1,再赋值
其实也就是说 i = i++ 相当于 i = i ; i+1; 问
如果i = i++ 相当于 i = i ; i+1;
那么j = i++ 相当于 j = i ; i+1; 喽?显然是不对的
i++和++i等我都知道,我不是初学者,我就是想不通i++有时是不是违背了先赋值后自增的说法了