目录
break
-
直接结束当前循环,跳出循环体,简单粗暴
-
break以后的循环体中的语句不会继续执行,循环体外的会执行
-
注意如果是嵌套for循环,在内层循环遇到了break,只会跳出当前这一层内循环哦
-
格式说明:
for(){ 代码1 if(条件){ 代码2... break;//如果条件成立,直接跳出这个for循环,执行循环体外接下来的代码 代码3... } 代码4; } 代码5; //运行:代码1--->条件不成立--->代码4---->代码1--->条件成立---->代码2--->代码5
continue:
-
跳出本轮循环,继续下一轮循环
-
continue后本轮循环体中的语句不会继续执行,但是会继续执行下轮循环,循环体外的也会执行
-
格式说明:
for(){ 代码1 if(条件){ 代码2... continue;//如果条件成立,直接略过本次循环的后面的代码,进入下一次循环 代码3... } 代码4; } 代码5; //运行:代码1--->条件不成立--->代码4---->代码1--->条件成立---->代码2--->代码1--->....--->循环结束--->代码5
代码实现:
public static void main(String[] args) {
for (int i = 0; i < 101; i++) {
Scanner scanner = new Scanner(System.in);
System.out.println("请您输入数字");
int a = scanner.nextInt();
if (a != 88) {
System.out.println("您猜错了,请重新猜");
continue;
}
System.out.println("我爱你");
if (a == 88) {
System.out.println("您猜对了");
break;
}
}
}
break与continue注意
break与continue后面不允许写代码,因为都是不可达的代码
break与continue的区别
-
break在任何循环语句的主题部分,均可用break控制循环过程。break用于强制退出循环
不执行循环下面剩余的语句。(break语句也在switch语句中使用)
-
continue语句用于循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,
接着进行下一次是否执行循环的判定
-
break代码:
public static void main(String[] args) { int a = 0; while (a<100){ a++; System.out.println(a);//输出的是1-30 if(a==30){ break; } } }
-
continue代码:
public static void main(String[] args) { int a = 0; while (a<100){ a++; System.out.print(" "); if(a%10==0){ System.out.println(); continue; } System.out.print(a);//输出的是出去能被10整除的数 } }
关于goto关键字
-
goto关键字很早就在程序设计语言中出现。尽量goto仍是Java的一个保留字,但并未在语言中得到正确使用;Java
没有goto。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子---带标签的break和continue。
-
标签是指后面跟一个冒号的标识符,列如:label:
-
对Java来说唯一用到标签的地方是在循环语句之前。而循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个
循环,由于break和continue关键字通常至中断当前循环,但若随同标签使用,他们就会中断到标签的地方
-
代码:
public static void main(String[] args) { //打印101-150之间的质数 //质数是值大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 //不建议使用 outer: for (int i = 101; i < 150; i++) { for(int j=2;j<i/2;j++){ if (i%j==0){ continue outer; } } System.out.print(i+"\t"); } }