ad

打开《Java语言程序设计与应用》_从基础向熟练进发_2.3.5 转移语句

admin 84 2023-10-25

【摘要】 本书摘自《Java语言程序设计与应用》一书中第2章,第3节,由徐俊武编著。

2.3.5 转移语句

Java语言提供三种无条件转移语句: return、break 和 continue。return 语 句用于从方法中返回值,break 和 continue 语句用于控制流程转移。不支持 goto语句。

2.3.5.1 return 语句

return语句的语法格式如下:

打开《Java语言程序设计与应用》_从基础向熟练进发_2.3.5 转移语句

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小时内删除侵权内容。

上一篇:学习《零基础Java从入门到精通》_3.2 Java基础语法
下一篇:《JAVA服务端研发知识图谱》_让你更懂Java后台研发_1.1 Java 概要
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×