• Java中break、continue及标签等跳转语句的使用[上]


    java 中跳转语句使用break、continue和标签,各自或组合完成相应的功能。

    今天做题时遇到关于标签命名规范,顺便将跳转语句语法都看了一遍,很有收获。

    在《Java编程思想》一书中,作者详细阐述,现将案例代码写在下面:

    public class LabeledFor {
    
        public static void main(String[] args) {
            int i=0;
            outer:
                for(;true;){
                    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++;    //otherwise i never gets incremented
                                break;
                            }
                            if(i==7){
                                System.out.println("continue outer");
                                i++;    //otherwise i never gets incremented
                                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;
                                }
                            }
                        }
                }
    
        }
    
    }

    运行结果见下图:

    i=0
    continue inner
    i=1
    continue inner
    i=2
    continue
    i=3
    break
    i=4
    continue inner
    i=5
    continue inner
    i=6
    continue inner
    i=7
    continue outer
    i=8
    break outer

      自认为比较重要的一点是,break中断for循环,而且是在抵达for循环的末尾之前,也就是说,递增表达式将不会执行。continue确不会跳过递增语句。

      同样的,这个例子中,当i==7的情况下,continue outer语句会跳到循环顶部,而且也会跳过递增。

      如果没有break outer,就没有办法从内部循环里跳出外部循环。这是由于break本身只能中断最内层的循环(continue同样如此)。

      如果想中断同时退出,简单地用一个return即可。

  • 相关阅读:
    linux Segmentation faults 段错误详解
    linux cut
    linux sed
    linux tr
    linux ar
    objdump--反汇编查看
    linux中dd命令
    readelf
    登录后,前端做了哪些工作,如何得知已登录?
    正向代理和反向代理?
  • 原文地址:https://www.cnblogs.com/jenkov/p/javajump-for.html
Copyright © 2020-2023  润新知