zoukankan      html  css  js  c++  java
  • 【笔试题】在 Java 中,如何跳出当前的多重嵌套循环?

    笔试题 在 Java 中,如何跳出当前的多重嵌套循环?

    public class Demo {
        public static void main(String[] args) {
            System.out.println("方法一:标号方式");
            outerloop:
            for (int i = 1; i < 5; i++) {
                for (int j = 1; j < 5; j++) {
                    if (i * j > 6) {
                        System.out.println("Breaking");
                        break outerloop;
                    }
                    System.out.println(i + " " + j);
                }
            }
            System.out.println("Done");
    
            System.out.println("方法二:条件控制");
            boolean finished = false;
            for (int i = 1; i < 5 && !finished; i++) {
                for (int j = 1; j < 5; j++) {
                    if (i * j > 6) {
                        System.out.println("Breaking");
                        finished = true;
                        break;
                    }
                    System.out.println(i + " " + j);
                }
            }
            System.out.println("Done");
    
            System.out.println("方法二变形:条件控制");
            for (int i = 1; i < 5; i++) {
                for (int j = 1; j < 5; j++) {
                    if (i * j > 6) {
                        System.out.println("Breaking");
                        i = 5;
                        break;
                    }
                    System.out.println(i + " " + j);
                }
            }
            System.out.println("Done");
    
            System.out.println("方法三:抛出异常");
            try {
                for (int i = 1; i < 5; i++) {
                    for (int j = 1; j < 5; j++) {
                        if (i * j > 6) {
                            System.out.println("Breaking");
                            throw new Exception();
                        }
                        System.out.println(i + " " + j);
                    }
                }
                System.out.println("Done");// 此行代码不会执行
            } catch (Exception e) {
                // System.out.println("e");
            }
        }
    }
    

    参考答案

    ``` 方法一:标号方式 1 1 1 2 1 3 1 4 2 1 2 2 2 3 Breaking Done 方法二:条件控制 1 1 1 2 1 3 1 4 2 1 2 2 2 3 Breaking Done 方法二变形:条件控制 1 1 1 2 1 3 1 4 2 1 2 2 2 3 Breaking Done 方法三:抛出异常 1 1 1 2 1 3 1 4 2 1 2 2 2 3 Breaking ```

    方法一:标号方式

    System.out.println("方法一:标号方式");
    outerloop:
    for (int i = 1; i < 5; i++) {
        for (int j = 1; j < 5; j++) {
            if (i * j > 6) {
                System.out.println("Breaking");
                break outerloop;
            }
            System.out.println(i + " " + j);
        }
    }
    System.out.println("Done");
    

    参考答案

    ``` 方法一:标号方式 1 1 1 2 1 3 1 4 2 1 2 2 2 3 Breaking Done ```

    方法二:条件控制

    System.out.println("方法二:条件控制");
    boolean finished = false;
    for (int i = 1; i < 5 && !finished; i++) {
        for (int j = 1; j < 5; j++) {
            if (i * j > 6) {
                System.out.println("Breaking");
                finished = true;
                break;
            }
            System.out.println(i + " " + j);
        }
    }
    System.out.println("Done");
    

    参考答案

    ``` 方法二:条件控制 1 1 1 2 1 3 1 4 2 1 2 2 2 3 Breaking Done ```
    System.out.println("方法二变形:条件控制");
    for (int i = 1; i < 5; i++) {
        for (int j = 1; j < 5; j++) {
            if (i * j > 6) {
                System.out.println("Breaking");
                i = 5;
                break;
            }
            System.out.println(i + " " + j);
        }
    }
    System.out.println("Done");
    

    参考答案

    ``` 方法二变形:条件控制 1 1 1 2 1 3 1 4 2 1 2 2 2 3 Breaking Done ```

    方法三:抛出异常

    System.out.println("方法三:抛出异常");
    try {
        for (int i = 1; i < 5; i++) {
            for (int j = 1; j < 5; j++) {
                if (i * j > 6) {
                    System.out.println("Breaking");
                    throw new Exception();
                }
                System.out.println(i + " " + j);
            }
        }
        System.out.println("Done");// 此行代码不会执行
    } catch (Exception e) {
        // System.out.println("e");
    }
    

    参考答案

    ``` 方法三:抛出异常 1 1 1 2 1 3 1 4 2 1 2 2 2 3 Breaking ```

    参考资料

  • 相关阅读:
    Linux内核异常处理体系结构详解(一)【转】
    一则利用内核漏洞获取root权限的案例【转】
    linux tracepoint用法【转】
    实现PC视频播放最强画质教程( Potplayer播放器+MADVR插件)【转】
    getopt_long函数使用【转】
    用Qemu运行/调试arm linux【转】
    linux内核input子系统解析【转】
    Linux input子系统 io控制字段【转】
    Linux设备树语法详解【转】
    of_alias_get_id 函数与设备树中aliases节点的关系【转】
  • 原文地址:https://www.cnblogs.com/hgnulb/p/10590795.html
Copyright © 2011-2022 走看看