黑马程序员技术交流社区
标题:
测试题
[打印本页]
作者:
lvwangxiao
时间:
2016-3-17 20:44
标题:
测试题
public class Test3 {
public static void main(String[] args) {
int i = 3;
for(int j = 0; j < 5;j++){
i = i++;
}
System.out.println(i);
}
}
复制代码
这个题的的结果竟然是3?
作者:
cc19930915
时间:
2016-3-17 21:03
i = i++ 是先赋值再递增 i的值一直没变
作者:
as9600
时间:
2016-3-17 21:23
i先把值取出然后自增i变成了4,最后将取出的值付给了i也就是3所以i的值一直没变
作者:
youdang
时间:
2016-3-17 21:31
一直没变吧,老梗了
作者:
monZhang
时间:
2016-3-17 21:40
好吧。。。。。。。。。。这个真是
作者:
lovelife
时间:
2016-3-17 21:46
++ -- 的学问挺大的 基础班阳哥笔记里 第二个好像就有关于这方面的讲解 i++ 先赋值再递增
作者:
zxydeh
时间:
2016-3-17 21:57
感觉自己又要从头看了~~~
作者:
陈文广
时间:
2016-3-17 21:59
这个可以将i = i++; 分解成三步来操作
1. 先计算表达i++ 的值.在本题中 既表达式 i++ 的值是3,
2.再讲变量i自增1 即为 i=4;
3.在将 i++ 表达式的结果 即第一步的值 3
,又赋值给了变量i 所有变量i,执行完i=i++; 后每次都是3
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2