break和continue语句用于在循环中精确地控制代码的执行,主要作用是停止循环。
其中,break语句会立即退出循环,强制继续执行循环后面的语句,而continue语句虽然也是立即退出循环,但退出循环后会从循环的顶部继续执行。
下面来详解两者的区别:
continue语句
continue语句用于循环中,让程序跳过循环体余下的代码,并开始新一轮循环。
举一个例子,代码如下:
for(int i==0;i<=100;i++){ if(i==49){ continue; } 语句A; 语句B; }
在i==49时执行continue,语句A和B都不再执行,而是进行i++,然后判断i<=100。
break语句
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
break 跳出最里层的循环,并且继续执行该循环下面的语句,也就是说如果有多层循环,break只跳出当前这一层的循环。
举一个例子,代码如下:
for (int i = 0; i < 100; i++) { // 语句A for (int j = 0; j < 100; j++) { if (j == 50) { break; } // 语句B } // 语句C }
在j==50时语句B不会再执行,执行语句C,然后回到i++,然后判断i<100。
continue与break的区别
1、break用于跳出一个循环体或者完全结束一个循环,不仅可以结束其所在的循环,还可结束其外层循环。
注意:
(1)只能在循环体内和switch语句体内使用break。
(2)不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码。
(3)当break出现在循环体中的switch语句体内时,起作用只是跳出该switch语句体,并不能终止循环体的执行。若想强行终止循环体的执行,可以在循环体中,但并不在switch语句中设置break语句,满足某种条件则跳出本层循环体。
2、continue语句的作用是跳过本次循环体中剩下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为只是中止(跳过)本次循环,接着开始下一次循环。
注意:
(1)continue语句并没有使整个循环终止。
(2)continue 只能在循环语句中使用,即只能在 for、while 和 do…while 语句中使用。
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》