如何在Java中使用switch 语句(附实例)

198 阅读3分钟

你在Java中使用switch 语句,当满足某个条件时执行一个特定的代码块。

下面是该语法的样子:

switch(expression) {
  case 1:
    // code block
    break;
  case 2:
    // code block
    break;
    case 3:
    // code block
    break;
  default:
    // code block
}

上面,switch 小括号中的expression 与每个case 进行比较。当expressioncase 相同时,case 中的相应代码块被执行。

如果所有的情况与expression 不匹配,那么在default 关键字下定义的代码块将被执行。

我们使用break 关键字来终止代码,只要满足一定的条件(当expressioncase 匹配)。

让我们来看看一些代码例子。

如何在Java中使用开关案例

看一下下面的代码:

class CurrentMonth {
    public static void main(String[] args) {
        
        int month = 6;
        
        switch (month) {
          case 1:
            System.out.println("January");
            break;
          case 2:
            System.out.println("February");
            break;
          case 3:
            System.out.println("March");
            break;
          case 4:
            System.out.println("April");
            break;
          case 5:
            System.out.println("May");
            break;
          case 6:
            System.out.println("June");
            break;
          case 7:
            System.out.println("July");
            break;
          case 8:
            System.out.println("August");
            break;
          case 9:
            System.out.println("September");
            break;
          case 10:
            System.out.println("October");
            break;
          case 11:
            System.out.println("November");
            break;
          case 12:
            System.out.println("December");
            break;
            
            // June
        }
    }
}

在上面的代码中,June被打印出来。不要担心这些笨重的代码。这里有一个分解,以帮助你理解。

我们创建了一个名为month 的整数,并给它分配了一个6的值:int month = 6;

接下来,我们创建了一个switch 语句,并将month 变量作为一个参数传入:switch (month){...}

month 的值,作为switch 语句的表达式,将与代码中的每个case 值进行比较。我们有案例1到12。

month 的值是6,所以它与case 6相匹配。这就是为什么case 6中的代码被执行。其他所有的代码块都被忽略了。

这里有另一个例子来简化事情:

class Username {
    public static void main(String[] args) {
        
        String username = "John";
        
        switch (username) {
          case "Doe":
            System.out.println("Username is Doe");
            break;
          case "John":
            System.out.println("Username is John");
            break;
          case "Jane":
            System.out.println("Username is Jane");
            break;
            // Username is John
        }
    }
}

在上面的例子中,我们创建了一个名为username 的字符串,其值为 "John"。

switch 语句中,username 被作为表达式传入。然后我们创建了三个案例--"Doe"、"John "和 "Jane"。

在这三个类中,只有一个与username 的值匹配--"John"。结果,case "John" 中的代码块被执行。

如何在开关语句中使用默认关键字

在上一节的例子中,我们的代码被执行是因为有一个case 与一个expression 匹配。

在本节中,你将看到如何使用default 这个关键字。你可以在没有一个案例与expression 匹配的情况下,把它作为一个退路。

这里有一个例子:

class Username {
    public static void main(String[] args) {
        
        String username = "Ihechikara";
        
        switch (username) {
          case "Doe":
            System.out.println("Username is Doe");
            break;
          case "John":
            System.out.println("Username is John");
            break;
          case "Jane":
            System.out.println("Username is Jane");
            break;
          default:
            System.out.println("Username not found!");
            // Username not found!
        }
    }
}

上面例子中的username 变量的值是 "Ihechikara"。

default 关键字的代码块将被执行,因为创建的案例中没有一个与username 的值相匹配。

总结

在这篇文章中,我们看到了如何在Java中使用switch 语句。

我们还谈到了switch 语句的表达式、案例和Java中的默认关键字,以及它们的使用案例和代码实例。

编码愉快!