1、break 用于跳出循环,注意不会结束程序,只是结束循环,如果循环外还有其他代码,不会被break影响
package struct;
public class BreakDemo {
public static void main(String[] args) {
int i = 0;
while(i<100){
i++;
System.out.println(i);
if (i==30){
break;
}
}
}
}
2、continue用在循环体中,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定
package struct;
public class BreakDemo {
public static void main(String[] args) {
int i = 0;
while (i<100){
i++;
if (i%10==0){
System.out.println(); //当是10的倍数的时候就换一行
continue; //当是10的倍数就跳过执行后续语句
}
System.out.print( i ); //注意这里是print,不是printI,如果不满足if的条件就在同一行输出
}
}
}
continue相对于break的区别是continue只是跳过某次循环,但是不会退出整体循环,而是跳出当次循环,进入下一次循环
3、goto关键字
一般是在break 或者 continue中标签进行使用的
比如下面这个使用outer标签搭配continue从内部的循环跳到外部的循环。标签名字不一定是outer,可以自定义
package struct;
public class LableDemo {
public static void main(String[] args) {
//打印101-150之间的所有质数
//除了1和它本身没有其他的因数
int count = 0;
outer:for (int i=101;i<150;i++){
for (int j=2;j<i/2;j++){ //用i/2是进行优化,因为如果j>=i/2.是不会被整除的,这里要判断的是如果被整除就跳过这个数
if (i%j==0){
continue outer; //outer是标签,名字可以自定义
}
}
System.out.print(i+"\t");
}
}
}
``