Java基础(第三章续)

3.3 跳转语句


跳转语句可以无条件改变程序的执行顺序。Java语言提供了3种跳转语句,分别为break,continue和return语句


break语句
应用于switch、for、while及do语句中,可以立即终止执行包含break语句所在的一个程序块


使用无标签的break语句


例3.10
public class BreakDemo {
public static void main(String[] args) {
boolean test=true;
int i=1;
while(test) {
System.out.println("i="+i);
if(i==5) break;
i++;
}
System.out.println("i为5时结束循环");
}


}


运行结果:
i=1
i=2
i=3
i=4
i=5
i为5时结束循环


尽管while循环的判断条件一直为true,但是当i等于5时,break语句结束整个循环,接着执行循环后续的代码。因此,在循环语句中,可以使用break语句中断正在执行的循环。
如果break语句出现在循环嵌套的内部时,则只结束break语句所在的循环,对于其他的循环没有影响。


例3.11
public class BreakDemo02 {
public static void main(String[] args) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 5; j++) {
System.out.println(i + "," + j);
if (j == 2)
break;
}
}
}
}


运行结果:
0,0
0,1
0,2
1,0
1,1
1,2


该break语句因为出现在循环变量为j的循环内部,则执行到break语句时,只中断循环变量为j的循环,而对循环变量为i的循环没有影响
注意:
一个循环中可以有一个以上的break语句,但是太多的break语句会破坏代码结构。另外,switch语句中的break仅仅影响所在的switch语句,而不会影响外层的任何循环。


带标签的break语句格式如下:
break 标签;
当这种形式的break执行时,控制被传递出指定的代码块。


例3.11.1
public class LabelBreakDemo {
public static void main(String[] args) {
loop:
for(int i=1;i<=9;i++) {
for(int j=1;j<=i;j++) {
if(j*i == 16) {
break loop;
}
System.out.print(j+"*"+i+"="+j*i+" ");
}
System.out.print("\r\n");//输出一个回车换行符
}
}


}


运行结果:
1*1=1 
1*2=2 2*2=4 
1*3=3 2*3=6 3*3=9 
1*4=4 2*4=8 3*4=12 




continue语句
使用无标签的continue语句,输出100以内能够被7整除的数


public class ContinueDemo {
public static void main(String[] args) {
for (int i = 1; i < 100; i++) {
if (i % 7 != 0) {
continue;
}
System.out.print(i + " ");
}


}


}


运行结果:
7 14 21 28 35 42 49 56 63 70 77 84 91 98 


带标签continue语句
使用带标签的continue语句
public class LabelContinueDemo {
public static void main(String[] args) {
loop:
for(int i=1;i<=9;i++) {
for(int j=1;j<=i;j++) {
if(j==2) {
continue loop;//跳出双层for循环语句
}
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.print("\r\n");//输出一个回车换行符
}
}


}


运行结果:
1*1=1
1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9




return语句
使用return语句,计算圆面积
public class ReturnDemo {
final static double PI=3.14;
public static void main(String[] args) {
double r1=3.0,r2=5.0;
System.out.println("半径为"+r1+"的圆面积为"+area(r1));
System.out.println("半径为"+r2+"的圆面积为"+area(r2));
}
static double area(double r) {
return (PI * r * r);
}


}


运行结果:
半径为3.0的圆面积为28.259999999999998
半径为5.0的圆面积为78.5

猜你喜欢

转载自blog.csdn.net/qq_33590246/article/details/80634087