目录
一、 跳转控制语句---break
图解:![](https://i-blog.csdnimg.cn/blog_migrate/a053418609e8d9f6d59da671225a8677.png)
语法实操:
abc1:
for (int j=0;j<4;j++){
abc2:
for (int i=0;i<10;i++){
if (i==2){
break ;//等价于break abc2
}
System.out.println("i="+i);
}
}
结果
举一反三:
练习题1:
倘若把break 换成break abc1 ,结果又会是什么呢?
abc1:
for (int j=0;j<4;j++){
abc2:
for (int i=0;i<10;i++){
if (i==2){
break abc1;
}
System.out.println("i="+i);
}
}
结果:
练习题2:
题目:1-100以内的求和,求出当和第一次大于20的当前数
思路分析:
1. 循环1-100 ,求和sum 2、 当sum》20 时,记录下当前数,然后break
代码实现:
int sum=0;
for (int i=1;i<=100;i++){
sum+=i;//累积
if (sum>20){
System.out.println("当前和>20时,的当前数为i="+i);
break;
}
}
结果:
在这块代码块中,不可以在for外面输出的和(因为i的作用范围在for循环内),如果想在for外面输出和,可以这样做,如下
思路分析: 在for循环外部,定义变量n,把当前i赋给n
代码实现:
int sum=0;//累积和
//注意i的作用范围在for循环内
int n=0;
for (int i=1;i<=100;i++){
sum+=i;//累积
if (sum>20){
System.out.println("和>20时候 ,当前数i="+i);
n=i;
break;
}
}
System.out.println("当前数="+n);
结果:
二、跳转控制语句continue
-
continue 语句用于结束本循环,继续执行下一次循环,
-
continue 语句出现在多层嵌套的循环语句体中时,可以通过标签指明跳过哪一层循环,这个和前面的标签使用的规则一样
以下两道练习题将围绕着这个流程分析图开展练习:
结合流程分析图,分析内存执行情况,强烈建议小伙伴自己画内存分析图!!
练习题:
label1:
for (int j=0;j<2;j++){
label2:
for(int i=0;i<10;i++){
if(i==2){
continue ;//等价于 continue label2
}
System.out.println("i="+i);
}
}
结果:
上面的continue等价于continue label2, 接下来,我们把continue 换成 continue label1
label1:
for (int j=0;j<2;j++){
label2:
for(int i=0;i<10;i++){
if(i==2){
continue label1;//等价于 continue label2
}
System.out.println("i="+i);
}
}
使用内存分析法计算过程:
结果:
三、总结:以下是几种控制语句的用法:break、continue、return(必须得清楚区别在哪,三者不允许混乱)
break
break 在以下代码块中,起终止for循环的作用
for (int i = 1; i <= 5; i++) {
if (i == 3) {
System.out.println("Java,很高兴认识你");
break;
}
System.out.println("hello world");
}
System.out.println("go on ……");
分析图:
结果:
continue
终止本次循环
for (int i = 1; i <= 5; i++) {
if (i == 3) {
System.out.println("Java,很高兴认识你");
continue;
}
System.out.println("hello world");
}
System.out.println("go on ……");
跳转控制语句--return
return 使用方法 ,表示跳出所在的方法。
return
当mreturn用在方法时,表示跳出方法,如果使用在main,则表示退出程序
for (int i = 1; i <= 5; i++) {
if (i == 3) {
System.out.println("Java,很高兴认识你");
return;//当mreturn用在方法时,表示跳出方法,如果使用在main,则表示退出程序
}
System.out.println("hello world");
}
System.out.println("go on ……");