Java编程思想(第四章 控制执行流程)

Java中“goto”的使用

goto语句作为源码级上的跳转模糊了程序的流程控制。在Java中想要使用类似的机制需要使用continue和label

//文件名:temp
public class temp
{
    public static void main(String[]args)
    {
        int i=0;
        outer: //设置标签outer,冒号后不能放置其他语句
        for(;true;)
        {
            inner: //设置标签inner,冒号后不能放置其他语句
            for(;i<10;i++)
            {
                System.out.println("i = "+i);
                if(i==2)
                {
                    System.out.println("continue"); continue;
                }
                if(i==3)
                {
                    System.out.println("break");
                    i++;
                    break;
                }
                if(i==7)
                {
                    System.out.println("continue outer");
                    i++;
                    continue outer;
                }
                if(i==8)
                {
                    System.out.println("break outer");
                    break outer;
                }
                for(int k=0;k<5;k++)
                    if(k==3)
                    {
                        System.out.println("continue inner");
                        continue inner;
                    }
            }
        }
    }
}

结果:
代码运行结果

同样的方法适用于while
重点:Java中使用标签的唯一理由是因为有循环嵌套存在,而且想从多层嵌套中break或continue。
1)一般的continue会退回最内层循环的开头,并继续执行。
2)一般的break会中断并跳出循环。
3)带标签的continue会达到标签位置,并重新紧接该标签后的循环。
4)带标签的break会中断并跳出标签所指的循环。

[1] Bruce Eckel.Java编程思想[M].陈昊鹏,北京:机械工业出版社出版社.2007:71-73

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值