Java 控制跳转语句标号【面试题】

    技术2022-07-10  143

    1、案例:写标号

    public static void main(String[] args){ a: for(int i = 1;i <= 10;i++){ System.out.println("i = " + i); b: for(int j = 1;j <= 10;j++){ System.out.println("j = " + j); break a; } } }

    上面代码是直接将标号a的循环退出:所以输出结果为:

    i = 1 j = 1

    如果不写标号:

    public static void main(String[] args){ a: for(int i = 1;i <= 10;i++){ System.out.println("i = " + i); b: for(int j = 1;j <= 10;j++){ System.out.println("j = " + j); break; //和break b;效果相同 } } }

    正常跳出内层循环,输出:

    i = 1 j = 1 i = 2 j = 2 i = 3 j = 3 ...

    注意:

    一般标号用于多层循环。a 和 b就是标号,只要是合法的标识符即可,最好见名之意。

    2、面试题:看下面代码是否可以编译成功

    System.out.println("你好"); http://www.csdn.net System.out.println("很高兴认识你");

    编译成功,正常输出:

    你好 很高兴认识你

    分析:

    其实表面上看起来像是一个网站,实际上则是http:标号,而//是java中的注释,后面的www.csdn.net在注释后面没有实际意义。

    实际上的代码是:

    System.out.println("你好"); //www.csdn.net http:System.out.println("很高兴认识你");
    Processed: 0.011, SQL: 9