Java基础-控制语句

为什么switch效率更高

当编译switch语句时,Java编译器会检查每个case常量,并创建一个"跳转表",该跳转表用于根据表达式的值选择执行路径。

空循环体while语句

class NoBody {
    public static void main(String args[]) {
        int i, j;
        i = 100;
        j = 200;
        while(++i < --j) {}
        System.out.println("Midpoint is " + i);
    }    
}

可以在while语句条件中写逻辑使代码简洁,再比如:

class DoWhile {
    public static void main(String args[]) {
        int n = 10;
        do {
            System.out.println("tick " + n);
            n--;
        } while(n > 0);
    }
}

简化后:

do {
    System.out.println("tick " + n);
} while(--n > 0);

for循环的一些版本

for循环的三个组成部分可以用于你所期望的任何其他目的。

例如for循环的条件可以是任何布尔表达式:

boolean done = false;

for (int i = 0; !done; i++) {
    //...
    if (interrupted()) {
        done = true;
    }  
}

关于for-each风格的for循环

有重要的一点需要说明:迭代变量是"只读的",因为迭代变量与背后的数组关联在一起。对迭代变量的赋值不会影响背后的数组。换句话说,不能通过为迭代变量指定一个新值来改变数组的内容。

break语句

在一个循环中可以出现多条break语句,但是过多的break语句可能会破坏代码的结构。

Java定义了break语句的一种扩展形式,使用标签的break语句:

class Break {
    public static void main(String args[]) {
        boolean t = true;
        
        first: {
            second: {
                third: {
                    System.out.println("Before the break.");
                    if (t) {
                        break second;
                        System.out.println("This won't  execute.");
                    }
                    System.out.println("This won't  execute.");
                }
                System.out.println("This is after second block.");
            }
        }
    }  
}

带有标签的break语句,最常见的用途之一就是退出嵌套循环。

 

原文地址:https://www.cnblogs.com/chris-jichen/p/9798111.html