执行语句for(int i=1;i++<4;);后变量i的值为()?
来源:3-5 如何提交作业
Michael_2020
2020-01-18 12:57:42
运算符的优先级不是先 运算 再比较 最后 赋值 的吗?
i的值最后为什么是5呢,而不是4?
5回答
同学你好,1. ++是存在优先运算级的,只是i++在下一次调用时进行加一
2. 这次的运行表是正确的。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
Michael_2020
提问者
2020-01-19
@好帮手慕小尤 这样是否是对了?
好帮手慕小尤
2020-01-19
同学你好,i++是在一个先使用后加1,即先使用i的值,后让i+1。也就是在下次调用i时,才会进行加1 。如下所示:
int i = 1; System.out.println(i++); // 1 System.out.println(i); // 2
所以循环会执行四次,如下所示:
第一次 i= 1,1<4 true 则进入循环。
第二次 i= 2,2<4 true 则进入循环。
第三次 i= 3,3<4 true 则进入循环。
第四次 i= 4,4<4 false 结束循环,输出i时则i为5。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
Michael_2020
提问者
2020-01-18
@好帮手慕小尤 老师,如果按优先顺序,下表的问题出在哪里?
好帮手慕小尤
2020-01-18
同学你好,Java运算符的优先级,如下图所示
i++<4,按照优先级会先执行i++然后执行大小比对,所以答案是5。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题
回答 2
回答 4