break和continue的区别
break和continue都是用来控制循环结构的,主要是停止循环;
(1)break用于完全结束循环,跳出循环体。不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码;
例:计算从1开始加到100,当和大于或等于666时结束循环;
public static void main(String[] args) {
//计算从1开始加到100,当和大于或等于666时结束循环;
int i=1;
int sum=0;
for(;i<=100;i++) {
sum += i;
if(sum>=666) {
break;
}
}
System.out.println("从1加到"+i+"的和为"+sum);
}
(2)break不仅可以结束其所在循环,还可以结束其外层循环,此时需要在break后紧跟一个标签,这个标签用于标识一个外层循环;
例:从控制台获取字符串,如果是hello则终止内层循环,如果是kitty则终止外层循环
(outer是外层循环的标签,inner是内层循环的标签)
注意:复制代码块运行时,要放在有main方法的类里,此处只是提供具体实现的代码块!
outer2:while(true) {
System.out.println("loop outer");
inner:while(true) {
Scanner sc = new Scanner(System.in);
String s =sc.next();
System.out.println("loop inner:"+s);
if( s.equals("hello") ) {
break inner;
}
if( s.equals("kitty") ) {
break outer2;
}
}
}
(3)continue的功能·和break有点类似,区别是continue只是中止本次循环,接着开始下一次循环,可以理解为continue是跳过当次循环中剩下的语句,接着开始下一次的循环。
package com.neuedu.test02;
public class test_11_continue的使用 {
public static void main(String[] args) {
int i=1;
for(i=1;i<20;i++) {
if(i%2==0) {
System.out.print(i + " ");//输出偶数
continue;//跳过偶数,输出奇数
}
//System.out.print(i + " ");
continue;//无用
}
System.out.println();
//continue也可以带标签(不再示例)
}
}