我们可以在Java中使用带字符串的Switch语句吗?

甲 开关语句允许一个变量来针对值的列表平等进行测试。每个值称为一个案例,并针对每种情况检查要打开的变量。

语法

switch(expression) {
   case value :
      // Statements
      break;
   case value :
      // Statements
      break;
      // You can have any number of case statements.
      default :
      // Statements
}

开关中的弦

是的,我们可以在Java中使用带字符串的switch语句。这样做时,您需要牢记以下几点。

  • 如果要处理的数据也是字符串,则建议在switch语句中使用字符串值。

  • 切换条件下的表达式不得为null,否则将引发NullPointerException(运行时)。

  • switch语句中的字符串比较区分大小写。也就是说,您传递的字符串和大小写的字符串应该相等,并且大小写应相同(大写或小写)。

示例

下面的示例演示了switch语句中String的用法。

import java.util.Scanner;
public class SwitchExample {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Available models: Activa125(act125), Activa5G(act5g),"
         + " Accesses125(acc125), Vespa(ves), TvsJupiter(jup)");
      System.out.println("Select one model: ");
      String model = sc.next();
      switch (model) {
         case "act125":
            System.out.println("The price of activa125 is 80000");
            break;
         case "act5g":
            System.out.println("The price of activa5G is 75000");
            break;
         case "acc125":
            System.out.println("The price of access125 is 70000");
            break;
         case "ves125":
            System.out.println("The price of vespa is 90000");
            break;
         case "jup":
            System.out.println("The price of tvsjupiter is 73000");
            break;
         default:
            System.out.println("Model not found");
            break;
      }
   }
}

输出结果

Available models: Activa125(act125), Activa5G(act5g), Accesses125(acc125), Vespa(ves), TvsJupiter(jup)
Select one model:
act125
The price of activa125 is 80000