CODE函数-英雄云拓展知识分享
84
2023-10-25
【摘要】 本书摘自《Java语言程序设计与应用》一书中第2章,第3节,由徐俊武编著。
2.3.5 转移语句
Java语言提供三种无条件转移语句: return、break 和 continue。return 语 句用于从方法中返回值,break 和 continue 语句用于控制流程转移。不支持 goto语句。
2.3.5.1 return 语句
return语句的语法格式如下:
return [返回值];
return关键字不是为了跳转出循环体,更常用的功能是结束一个方法,也就 是退出一个方法,跳转到上层调用的方法。
2.3.5.2 break 语句和 continue 语句
在switch语句的某个 case 子句中,或在 while、repeat、For 语句的循环体 中,如果遇到 break 语句,则立即退出当前 switch 语句或循环语句。
在while、repeat、for语句的循环体中,如果遇到 continue 语句,则本次循环 结束,回到循环条件,继续判断是否执行下一次循环,因此,break 语句和 continue 语句都改变了结构化的程序执行流程。
下面结合几个示例来看看 break语句和 continue 语句的具体用法:(1)使用 break 语句结束当前循环
public class Testbreak1
{
public static void main(String args[])
for(int i=0;i<10;i++)
if(i==2)
break; //此处循环退出,i 的值为2
System.out.println("i="+i);
运行结果如下:
i=2
break 语句在 i=2 的时候终止了for 循环。
(2)使用 break 语句终止带标签的循环
break 语句不仅可以结束所在的循环,还可以直接结束其外层循环,需要在 break 语句后面紧跟一个标签,这个标签用于表示一个外层循环,标签是一个后
面紧跟着:的标识符。标签只有放在循环语句之前才有用。
public class Testbreak2
{
public static void main(String args[])
lablel:
for(int i=1;i<10;i++)
lable2:
System.out.println("i="+i);
for(int j=0;j<10;j++)
{ if(j==4)
break lable1; //此处终止labe11 的的循环,则 i=1,j=4 System.out.println("j="+j);
运行结果如下:
i=1
j=0
j=1
j=2
j=3
可以看出,在j=4 的时候 break 语句终止了labell 标签的循环。需要注意 的 是 ,j=4 没有打印出来,所以 break 语句的位置也需要注意。
(3)使用 continue 语句忽略本次循环
public class Testcontinuel
public static void main(String args[])
for(int i=0;i<5;i++)
if(i==2)
continue;
//此时,i=2 不会被打印
System.out.println("i="+i);
运行结果如下:
i=0
i=1
i=3
i=4
可以看出,没有打印i=2, 则当次循环被 continue 语句忽略,并且继续下次 循环。
( 4 ) 使 用 continue 语句忽略带标签的循环
public class Testcontinue2
public static void main(String args[])
lablel:
for(int i=1;i<3;i++)
lable2:
System.out.println("i="+i);
for (int j=0;j<5;j++)
if(j==3)
continue lablel;
//区别于 break 语句,忽略本次循环,
//开始下个循环
System.out.println("j="+j);
运行结果如下:
i=1
j=0
j=1
j=2
i=2
j=0
j=1
j=2
可以看出 continue 语句每次所起到的作用。
(5)break int
while(true)
语 句 或 continue 语句的位置
accout=0;
System.out.println("accout:"+accout);
accout++;
if(accout==5)
break;
if(accout==2)
continue;
此代码 while循环是一个死循环,但是其中通过 break 语句和 continue 语 句来实现跳出循环,使得循环不死。但是如果改写为下面的代码,则始终是死 循环。
int accout=0;
while(true)
if(accout==5)
{
break;
}
if(accout==2)
continue;
System,out.println("accout:"+accout);
accout++;
虽然只是移动了两句代码,但是此代码是死循环。为什么会出现死循环呢? 这里最大的原因就是 continue 的使用,因为 account==2 的时候就不会执行 account++ 这个语句了,所以就不会有 account==5 条件成立的时候了。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~