为了账号安全,请及时绑定邮箱和手机立即绑定

为什么图1break后可以继续执行print,图2break必须放在print前呢

为什么图1break后可以继续执行print,图2break必须放在print前呢

574abf850001ed4b05000252.jpg

574abf8600018f8f05000400.jpg


正在回答

6 回答

break是跳出本次循环,图一跳出本次循环后还会继续向下执行for循环里的内容;图二 break以后直接跳出if循环,print是在if循环中,所以不执行。

2 回复 有任何疑惑可以回复我~
#1

whqaz

break是跳出循环语句for,不是条件语句if吧
2016-05-29 回复 有任何疑惑可以回复我~
#2

去吧皮卡丘3304283 提问者 回复 whqaz

我觉得是if,如果跳出for,图1就不会print“结束啦”
2016-05-29 回复 有任何疑惑可以回复我~
#3

狗蛋蛋儿 回复 whqaz

恩,对。刚刚查了一下,break语句通常用于跳出switch、do-while、for、while等循环语句,不能用于跳出if语句。除非if语句在循环中,并且break是跳出最近一层的循环。
2016-05-30 回复 有任何疑惑可以回复我~
#4

去吧皮卡丘3304283 提问者

非常感谢!
2016-05-30 回复 有任何疑惑可以回复我~
查看1条回复

http://img1.sycdn.imooc.com//57e79e060001e76712860537.jpg关于break位置,解释有没有错误?

0 回复 有任何疑惑可以回复我~

我是这样理解的,第一个图的break跳出的是for循环,然后执行for循环之外的输出语句,第二张图break的作用还是跳出for循环,但是如果写在print前,那么就没有了输出值,因为break直接中断了循环。

0 回复 有任何疑惑可以回复我~

其实我觉得是因为println语句的位置不同,第一个程序中break之后还可以执行println语句,第二个如果break还放在之前的位置的话,println语句 就不执行了

0 回复 有任何疑惑可以回复我~

break是跳出整个循环;如果循环有多层嵌套,停止的是最贴近break的那个循环;在你这个图一中,i=3的时候if条件成立,然后执行break,跳出for循环,然后执行最后一个的输出语句..

图二中如果break放在输出语句之前,程序就直接结束了,不会执行输出语句,这个图二的意思是想sum>20之后就输出sum的值,再跳出循环啊

0 回复 有任何疑惑可以回复我~
#1

去吧皮卡丘3304283 提问者

0基础感觉好难,学得头昏眼花= =
2016-05-30 回复 有任何疑惑可以回复我~
#2

qq_亡命之徒_2 回复 去吧皮卡丘3304283 提问者

0基础确实难,最好身边有能懂这个的,别人给你讲一遍胜过你看10遍,其实光看视频并不能提高很多,很多就是模棱两可,前天看了第二天就忘了,看完觉得自己懂了,然后换一道题还是不会,编程这个东西,多练习也是一方面.我觉得初学者最好的方式就是先跟着视频敲代码,然后多敲个十遍八边,不看视频自己敲,就应该能初步了解了,因为程序猿就是一个经验的累积(当然不是把代码背下来)
2016-05-30 回复 有任何疑惑可以回复我~

图1break跳出for循环,下一句print不在for循环里,所以顺序执行了。

图1break后程序就结束了

1 回复 有任何疑惑可以回复我~
#1

whqaz

说错了,图2break后程序就结束了
2016-05-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么图1break后可以继续执行print,图2break必须放在print前呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信