老师,请解释下这里两个循环用break和continue的区别

老师,请解释下这里两个循环用break和continue的区别

public void addStudent(Student stu) {
		//  1、 将学生保存到数组中
/* 		方法1:
		int i;
		for( i=0;i<this.getMyStudents().length;i++) {
			if(this.getMyStudents()[i]==null)
				this.getMyStudents()[i]=stu;
				break;
			
		}
		//2、将学生个数保存到studentnum
		this.studentNum=i+1;
*/		
		//	方法2:
		//  1、 将学生保存到数组中
		for(int i=0;i<this.getMyStudents().length;i++) {
			if(this.getMyStudents()[i]==null) {
				this.getMyStudents()[i]=stu;
				//2、将学生个数保存到studentnum
				this.studentNum=i+1;
				return; // 如果有返回值,就带返回值跳出循环,如果没返回值,直接跳出循环
			}
		}

1、方法1中,不是说if语句块里是1个语句,就不要加{ },可是这里加上break;都两句了,为什么没加?

2、break是跳出当前循环,return也是跳出循环。

那为什么方法2不用break,而用return?

方法1不用return,而用break?

请老师把语句执行逻辑解释的详细点,谢谢!!!!

正在回答

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

2回答

同学你好,

1、

break用在循环语句中表示退出循环。

还可以用在switch-case分支判断中,表示退出switch-case分支。

2、

return;可以放在方法中的任意位置(一般放在最后一句或者需要退出方法时,因为return之后的语句不再执行),表示退出此方法。

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


吃吃吃鱼的猫 2019-06-18 10:54:35

同学你好,

break;用在循环语句中,跳出循环,继续执行方法中循环之后的语句。

return;用作方法中,表示退出该方法,之后的所有语句将不再执行。

1、这里的break是当:if中的语句执行完毕,再执行的,相当于:

 if(this.getMyStudents()[i]==null){
       this.getMyStudents()[i]=stu;
   }
        break;

2、方法1是break退出循环后,还需要继续向下执行此方法中的其他语句。

方法2执行return;语句后不需要再执行其它语句,此时需要退出该方法。

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

  • 提问者 慕移动ttong #1
    1、是不是break只能用于循环语句?作用是跳出循环,方法中循环语句后的语句不被影响,将继续执行。 2、那return可以放在循环中吗?作用又是什么呢? 谢谢!!!
    2019-06-18 11:18:05
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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