关于java循环终止break&continue
前面的文章中我们了解了循环的几种类型,本篇文章中我们来了解一下循环的终止,相对前面的文章来说比较易懂😀
break
- break我们在选择结构中有了解到,switch中,每个case后都要跟一个break。
- break在任何循环的主体部分,均可用break控制循环流程。
- break用于强制退出循环,不执行循环中剩余的语句。
我们下面用while循环来举例说明:
public class Demo
{public static void main(String[] args){int a =0;while(a<100){a++;System.out.println(a);if(a==20){break;}}}
}
我们执行一下上面的代码,就可以看到以下的运行结果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20进程结束......
我们发现,如果a循环到20的时候,满足条件,进入到了if判断里面,所以执行了break,终止了循环,输出的结果就到20结束了😀。
continue
- continue也是终止循环的一种,但是和break不一样!
- continue用于终止某一次的循环
- 跳过循环体中尚未执行的语句,接着进行下次循环的判断,判定结果为true还是会进入循环。
我们还是用while循环来实现一下,比如,我们不想输出1-100内,除以10没有余数的数字。
public class Demo
{public static void main(String[] args){int a =0;while(a<100){a++;if(a%10==0){System.out.print("\n");//如果符合,换行,跳过本次循环continue;}System.out.println(a+"\t");}}
}
我们执行一下上面的代码,就可以看到以下的运行结果
1 2 3 4 5 6 7 8 9
11 12 13 14 15 16 17 18 19
21 22 23 24 25 26 27 28 29
31 32 33 34 35 36 37 38 39
41 42 43 44 45 46 47 48 49
51 52 53 54 55 56 57 58 59
61 62 63 64 65 66 67 68 69
71 72 73 74 75 76 77 78 79
81 82 83 84 85 86 87 88 89
91 92 93 94 95 96 97 98 99 进程结束......
我们可以发现,像10,20,30等,都被跳过了,但是仍然在往下执行😎。
goto
- goto在这里只是介绍,了解这个东西就行,不用深入研究。
- goto关键字很早就在程序设计语言中出现,尽管goto仍是Java的一个保留字,但并未在语言中得到正式使用。
- java中没有goto。
- 在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子—带标签的break和continue。
- 标签是指,后边跟一个冒号的标识符,比如outer:(自定义名字)。
- 对java来说唯一用到标签的地方是在循环语句之前。而在循环之前设置标签的唯一理由是: 我们希望在其中嵌套另个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。
我们来实战一下🤔
public class Demo {public static void main(String[] args) {//找到101-150之间的质数//质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。int count=0;outer:for (int i=101;i<150;i++) //outer就是标签{for (int j=2;j<i/2;j++){if (i%j==0){continue outer;//循环到标签位置}}System.out.print(i+" ");}}
}
我们执行一下上面的代码,就可以看到以下的运行结果
101 103 107 109 113 127 131 137 139 149 进程结束.......
拓展Debug
- 这个就是我们上一篇文章中说到的断点跟踪。
关于java循环结构for
- 我们平时一定要养成编译Debug的习惯。
- 可以更好的看代码的走向,数据的走向等等。