Java switch语句 条件分支示例

这是一个使用 Java switch语句执行条件分支的示例。

目录 什么是switch语句?
  switch语句示例
  检查null的样本
  Fall through(如果没有break)
  在switch语句中使用if语句

什么是switch语句?

switch(conditions){
  case value :
    processing
    break;
   ・・・
  default:
    processing
}
  • 如果条件的值与case的值相匹配,下面的过程将被执行。
  • break将中断switch语句,否则将进入下级决策(case/default)。
  • 当条件的值与任何 "case "的值不匹配时,就执行 "default"。它可以被省略,但最好是写出来。
  • 如果你使用的是JavaSE7或更高版本,你可以使用switch语句来评估字符串。
    但是,如果值是 "null",就会抛出一个NullPointerException异常,所以在使用switch语句之前,最好先确定值不是null。

switch语句示例

public class Test1 {
	public static void main(String[] args) {
		String a = "2";

		switch (a) {
		case "1":
			System.out.println("one");
			break;
		case "2":
			System.out.println("two"); // two
			break;
		default:
			System.out.println("three");
		}
	}
}

第9行的case "2 "与变量a的值相匹配,所以它下面的进程被执行。
第11行的break退出了switch语句。

检查null的样本

  String a = null;

  if (a == null) {
    System.out.println("null"); // null

  } else {
    switch (a) {
      case "a":
        System.out.println("one");
        break;
      case "b":
        System.out.println("two");
        break;
      default:
        System.out.println("three");
    }
  }

第一行将该变量设置为null。
第3行在if语句中检查null。
如果该值不是null,则从第6行的else语句中执行switch语句。

Fall through(如果没有break)

  String a = "1";

  switch (a){
    case "1":
      System.out.println("one"); // one
			
    case "2":
      System.out.println("two"); // two
      break;
    default:
      System.out.println("three");
  }

在第6行,没有break。
在处理完第5行的 case"1"后,第7行的 case"2 "的处理也被执行。
这被称为 "fall through"。
最好不要使用它,因为如果你忘记写break,就很难理解。

在switch语句中使用if语句

你可以在switch语句中使用if语句。

  int a = 3;

  switch (a){
    case 3:
      if (a % 2 == 0) {
        System.out.println("even");
      } else {
        System.out.println("odd"); // odd
      }
        break;
    default:
      System.out.println("other");
  }

第5行在switch语句的case后面使用了if语句。
%是为了找到除法的剩余部分。

相关文章

Java if文 条件分岐を行うサンプル
Java for文 処理を繰り返す(break/continue)

△上に戻る