break是跳出哪个循环?

break是跳出哪个循环?

public Song searchSongById(String id) {

Song song=null;

//id是唯一的

for(Song s:musicList) {

if(s.getId().equals(id)) {

//如果相等就还找到了

song=s;break;

}

}

return song;

}

老师,这段查询语句中的break跳出的是for循环吗?为什么不是跳出if语句?

另外,我找到之前只能查找S001的原因是我没有给if语句后面的song=s;break;这两句用{}括起来。这个我不太明白为什么会影响后面的S002 S003 S004的查询?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,1、break是跳出for循环的作用。

    break作用-->break用于switch语句中,作用是结束一个switch语句; break用于循环语句中,作用是结束当前所在的循环语句。

    而if语句不能直接使用break,但是可以与循环配合使用break,例如:

http://img1.sycdn.imooc.com//climg/5ddf2d25097b0d9504700120.jpg

    2、没有给if语句后面的song=s;break;这两句用{}括起来,造成查询出现问题。原因是:

当if语句块的代码就一行,对应代码的{}可以省略,也就是说if如果没有加大括号,默认只执行if后一行代码。

如果是一行以上的代码必须有{}进行包裹。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师