基础JAVA编程问题,有点不懂循环语句

可以输出结果,但是我的输出结果每行间距都非常大,我就是不懂,如果把图一改为图二的话

就可以输出了,就是IF另一个括号的位置问题,可是这两者的区别是什么,我一直顺不出来这两个循环的逻辑思维,新人,有点晕。。。

这。。。上课要好好听啊 这就是程序的运行先后顺序问题了 这个用文字实在不好表达
先说第二个图
首先。进for循环 首先判断for的条件是否满足
第一次: 当i=1时 条件满足 则进入for程序中 判断if条件:
第一个if不满足 直接 跳过
第二次:。i=2.。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。
第30次 i=30 。。。 满足第一个if条件 进入其中 :
先输出 30 然后count++ 即count=1 判断第二个if条件:
不满足 跳过 继续开始for
这样 当第一个if条件满足5次 即for循环150次时 此时 i=150 count=5
既满足第一个if 又满足第二个if 开始第一次输出换行
这样形成的结果就是每循环30次输出一个i的值 然后每输出5个i的值 输出一个换行

第一个图跟第二个不同的就是每循环一次都要判断一次第二个if 这样程序负担就比第二个重一些追问

可为什么一图每行之间会有很大的空呀?我的一图结果输出每行间距大概是30行的距离,二图的语意我理解,就是不理解一图的结果到底是计算机怎样的循环思路才会造成这一现象的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-08
这都是for循环里面的两个条件; IF扩号包含另一个IF,和两个IF单独判断执行,显然不一样的
第2个回答  2014-10-08
你这个是两个if 判断问题,可以先不看循环。 上面的图,两个if分开写的,下面的图是嵌套写的;嵌套的话就是必须满足第一个if条件才能来判断这个if,而上图里面的if都是会判断的,第一个If就不是充分必要条件。 弄清楚if的嵌套和不嵌套就很容易理解了
相似回答