break continue语句
二者区别
- break可以在任何循环的主题部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也可以在switch语句中使用)
- continue语句在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
break语句
while语句中的break
代码示例
public class amy08 {public static void main(String[] args) {
int i=0;
while (i<100){
i++;
System.out.println(i);
if(i==30){
break;
}
}
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kE3YoUTa-1632646851637)(D:\JAVA学习图片\Java流程控制\028.png)]
注意事项
break只是用于强行退出循环,不执行循环中剩余的语句。但是循环体之后的语句还是会执行的。
public class amy08 {public static void main(String[] args) {
int i=0;
while (i<100){
i++;
System.out.println(i);
if(i==30){
break;
}
}
System.out.println('A');
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UJFWQWGm-1632646851638)(D:\JAVA学习图片\Java流程控制\029.png)]
switch语句中的break
continue语句
代码示例
public class amy08 {public static void main(String[] args) {
int i=0;
while (i<100){
i++;
if(i%10==0){
System.out.println();
}
System.out.println(i);
}
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OZ8XA5Rf-1632646851639)(D:\JAVA学习图片\Java流程控制\030.png)]
public class amy08 {public static void main(String[] args) {
int i=0;
while (i<100){
i++;
if(i%10==0){
System.out.println();
continue;
}
System.out.print(i);
}
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aBvWv8sr-1632646851639)(D:\JAVA学习图片\Java流程控制\031.png)]
发现并没有输出10
原因正是因为continue语句结束了本次循环,执行了下一次循环
所有没有输出10
关于goto关键字
- goto关键字很早就在程序设计语言中出现。尽管goto仍然是Java的一个保留字。但并没有在语言中得到正式使用;Java没有goto的。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子—带标签的break和continue.
- “标签”是指后面跟一个冒号的标识符,例如label:
- 对Java来说唯一用到标签的地方是在循环语句之前。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于,break和continue关键字通常只中断当前循环,但若随着同标签使用,它们就会中断到存在标签的地方。
练习题:打印101-150之间的质数。
public class amy08 {public static void main(String[] args) {
int count=0;
outer:for (int i=101;i<150;i++){
for (int j=2;j<i/2;j++){
if (i%j==0){
continue outer;
}
}
System.out.println(i+"");
}
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IImDjsf3-1632646851641)(D:\JAVA学习图片\Java流程控制\032.png)]