关于java循环终止break&continue
2023-12-31 10:35:42
关于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
- 这个就是我们上一篇文章中说到的断点跟踪。
- 我们平时一定要养成编译Debug的习惯。
- 可以更好的看代码的走向,数据的走向等等。
文章来源:https://blog.csdn.net/SpringYang11/article/details/135313366
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!