zoukankan      html  css  js  c++  java
  • 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即可。

  • 相关阅读:
    Tomcat启动提示At least one JAR was scanned for TLDs yet contained no TLDs
    elasticsearch 相关操作
    ES下载与安装
    分词器
    Go语言中import导入包时:点. 、下划线_ 、别名的用法
    删除某库中所有表
    yum 安装mysql
    chromedriver下载及配置
    前端库在Core Web项目中的引入和使用
    The database provider attempted to register an implementation of the 'IRelationalTypeMappingSource' service.
  • 原文地址:https://www.cnblogs.com/jenkov/p/javajump-for.html
Copyright © 2011-2022 走看看