流程控制

java中的流程控制与c以及php基本一致。

块作用域

和php不一样的是,java有块作用域。

public static void main (String [] args) {
    if (true) {
        int i = 100;
    }

    // 块外面访问不了i
    i = 1000;  // 出错
}

条件语句

共有四类条件语句。分别为:

  • 单分支if
  • 双分支if else
  • 多分支 if else if else
  • switch case。 case标签可以是char、byte、short、int的常量表达式,枚举常量,字符串字面量

循环语句

循环语句有三类:

  • while循环
  • do while循环
  • for循环

中断流程控制语句

两个中断语句,break用于跳出当前循环,continue不执行当前循环继续执行下面的循环。

和php不一样的是,php可以break + 数字来跳出多层循环。但在java中,需要使用break 标签名来跳出多层循环。

public class Sty {
    public static void main (String [] args) {
        label:for (int i = 1; i <=9; i ++) {
            for (int j = 9; j > 0; j --) {
                System.out.printf("gwx");
                break label;
            }
        }
    }
} 

下面是使用continue结合标签来实现:打印100以内的质数。

label:for (int i = 2; i <= n; i ++) {
    for (int j = 2; j <= Math.sqrt(i); j++) {
        if (i % j == 0) {
            continue label;
        }
    }

    System.out.print(i + "\t");
}