java中break与continue的详解(简单易懂)
目录
- java中break与continue的详解(简单易懂)
- break与continue的作用
- 1.break:
- 2.continue:
- break与continue的作用
- 关于goto关键字
break与continue的作用
1.break:
break语句可以用来从循环体内中途跳出循环体,即提前结束循环操作,接着执行循环下面的语句。 在任何循环中的主体,均可用break控制循环的流程!
代码示例:
public class BreakDemo01 {
//判断输入的月份是什么季节,(3,4,5春季,6,7,8夏季,9,10,11秋季,12,1,2冬季)
public static void main(String[] args) {
//从键盘输入数字
Scanner sc=new Scanner(System.in);
System.out.println(\"请输入1-12以内的月份\");
int month=sc.nextInt();
switch (month){
case 3:
case 4:
case 5:
System.out.println(\"您现在的季节是春季\");
break;
case 6:
case 7:
case 8:
System.out.println(\"您现在的季节是夏季\");
break;
case 9:
case 10:
case 11:
System.out.println(\"您现在的季节是秋季\");
break;
case 12:
case 1:
case 2:
System.out.println(\"您现在的季节是冬季\");
break;
default:
System.out.println(\"输入的月份不对!\");
}
sc.close();
}
}
当然,在学过诸多循环之后,我们也可以使用if循环去做,都是可以做出来的
可以看出,当输出的值满足某一case后面的值之后,结束循环!
2.continue:
continue语句是跳过循环体中剩余的语句而强制执行下一次循环操作。其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定
代码示例:(没加continue的时候)
public class ContinueDemo01 {
public static void main(String[] args) {
int num=0;
int count=0;
for (int i=1;i<=5;i++){
if (i<=4){
num+=i;
//continue;
}
count++;
}
System.out.println(\"前\"+4+\"个数的和为:\"+num);
System.out.println(\"for循环执行完成的次数:\"+count);
}
}
输出:
前4个数的和为:10
for循环执行完成的次数:5
代码示例:(加上continue之后)
public class ContinueDemo01 {
public static void main(String[] args) {
int num=0;
int count=0;
for (int i=1;i<=5;i++){
if (i<=4){
num+=i;
continue;
}
count++;
}
System.out.println(\"前\"+4+\"个数的和为:\"+num);
System.out.println(\"for循环执行完成的次数:\"+count);
}
}
输出结果:
前4个数的和为:10
for循环执行完成的次数:1
通过上面的案例可以看出,当有continue之后直接跳出了循环!不执行下一步操作,而开始下一次循环!
关于goto关键字
goto关键字在程序设计语言中出现,在break和continue这两个关键字的身上,我们任然可以看到一些goto的影子---带标签的break和continue;
标签:后面跟一个冒号的标识符,如:label:
对java来说,使用到标签的地方是在循环语句之前,而在循环中设置标签的理由是,我们希望在其中嵌套另一个循环,由于break和continue通常只中断当前循环,但若伴随标签使用,他们就会中断到存放标签的地方;
代码示例:
public class LableDemo {
public static void main(String[] args) {
//求1-100之间的质数
int count=0;
outer: for (int i=1;i<=100;i++){
for (int j=2;j<i/2;j++){
if(i%j==0){
continue outer;
}
}
System.out.print(i+\" \");
}
}
}
输出结果:
1 2 3 4 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
来源:https://www.cnblogs.com/lingstar/p/16449688.html
本站部分图文来源于网络,如有侵权请联系删除。