9.Break和Continue

Break直接跳出循环和Continue略过本次循环,循环继续执行:
  
  Break在任何循坏语句的主体部分,均可用break控制循环的流程。break用于强制退出循环不执行循环体中的语句,后边语句继续执行。( break语句也在 switch 语句中使用)

 1 package com.duan.struct;
 2 
 3 public class BreakDemo {
 4     public static void main(String[] args) {
 5         int i = 0;
 6         while(i<100){
 7             i++;
 8             System.out.println(i);
 9             if (i==30){
10                 break;
11             }
12         }
13 
14         System.out.println("123");
15     }
16 }
17 
18 结果:
19 1
20 2
21 3
22 ...
23 30
24 123
continue 语句用在循环语句体中,用于终止某次循环过程跳过循环体中尚未执行的语句,接着进行下一次是否执行循环体的判定。
 1 package com.duan.struct;
 2 
 3 public class ContinueDemo {
 4     public static void main(String[] args) {
 5         int i = 0;
 6         while (i<100){
 7             i++;
 8             if (i%10==0){
 9                 System.out.println();
10                 continue;
11             }
12             System.out.println(i);
13         }
14     }
15 }
16 结果:每次到关于10的倍数的时候,跳过本次循环,继续执行下次循环。
17 1
18 2
19 3
20 ...
21 9
22 
23 11
24 12
25 13
26 ...
27 19
28 
29 21
30 ...
31 99
关于 goto 关键字:
  goto关键字很早就在程序语言中出现。尽管goto仍是Java的一个保留字,但并未在语言中得到正式使用;Java没有goto。然而,在break和continue这两个关键字身上,我们仍然能看出一些goto的影子---带标签的break和continue。
  "标签"是指后面跟一个冒号的标识符,例如:label:
  对Java来说唯一用到标签的地方是在循环语句之前。而在下循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。
练习:打印101-150之间所有的质数:
 1 package com.duan.struct;
 2 
 3 public class LabelDemo {
 4     public static void main(String[] args) {
 5         //打印101-150之间所有的质数
 6         //质数是指在大于1的自然数中,除了1和他本身以外,不再有其他因数的自然数
 7 
 8         int count = 0;
 9 
10         //不建议使用
11         outer:for (int i = 101; i < 150; i++) {
12             for (int j = 2; j < i / 2; j++) {
13                 if (i % j == 0) {
14                     continue outer;
15                 }
16             }
17             System.out.print(i+" ");
18         }
19     }
20 }
21 结果:
22 101 103 107 109 113 127 131 137 139 149 


原文地址:https://www.cnblogs.com/duanfu/p/12222199.html