您的位置:

Java switch-case语句示例

Java中,switch-case语句是一种多分支的控制流语句,它可以使程序根据不同的条件执行不同的代码块。下面介绍一些Java switch-case语句的示例,帮助您了解它的使用方法。

一、switch-case语句基本用法

switch语句的语法结构如下:

switch(expression){
   case value1 :
      //当表达式的值等于value1时,执行这里的代码
      break;
   case value2 :
      //当表达式的值等于value2时,执行这里的代码
      break;
   case value3 :
      //当表达式的值等于value3时,执行这里的代码
      break;
   //你可以有任意数量的case语句
   default :
      //当所有case都不匹配时,执行这里的代码
}

在这个语法结构中,expression是要被测试的值,case是要比较的值,value1、value2和value3是case的值。default关键字是一个可选的关键字,用于当所有的case都不匹配时执行的代码块。

下面是一个简单的Java switch-case语句的示例:

public class Test {
   public static void main(String[] args) {
      int num = 2;
      switch(num+1) {
         case 1:
            System.out.println("Case1: Value is: "+num);
            break;
         case 2:
            System.out.println("Case2: Value is: "+num);
            break;
         case 3:
            System.out.println("Case3: Value is: "+num);
            break;
         case 4:
            System.out.println("Case4: Value is: "+num);
            break;
         default:
            System.out.println("Default: Value is: "+num);
      }
   }
}

在这个示例中,我们声明了一个整型变量num,并将它的值设为2。然后我们使用switch语句测试num+1的值,并根据值的匹配情况执行不同的代码块。

二、switch-case语句展开用法

Java中的switch语句还可以采用展开的方式来写,以减少代码的量。如下:

public class Test {
   public static void main(String[] args) {
      int num = 2;
      switch(num) {
         case 0: case 1: case 2: case 3:
            System.out.println("Value is less than 4");
            break;
         case 4: case 5: case 6: case 7: case 8:
            System.out.println("Value is between 4 and 8");
            break;
         case 9:
            System.out.println("Value is 9");
            break;
         default:
            System.out.println("Value is greater than 9");
      }
   }
}

在这个示例中,我们可以看到,使用switch-case语句展开的方式,可以同时测试多个case的值,并且执行同一个代码块。这样可以让代码变得更加简洁易懂。

三、switch-case语句加上break语句

在Java中,switch-case和for、while、do-while、if-else语句一样,也可以使用break、continue和return语句来控制程序的流程。

比如在一个循环中使用switch语句,我们可以使用break语句来跳出switch语句的循环,继续循环执行其他的语句。如下:

public class Test {
   public static void main(String[] args) {
      int num = 2;
      for(int i=0; i<10; i++){
         switch(num+i) {
            case 0: case 1: case 2: case 3:
               System.out.println("Value is less than 4");
               break;
            case 4: case 5: case 6: case 7: case 8:
               System.out.println("Value is between 4 and 8");
               break;
            case 9:
               System.out.println("Value is 9");
               break;
            default:
               System.out.println("Value is greater than 9");
               break;
         }
      }
   }
}

在这个示例中,我们在一个for循环中使用switch-case语句。同时,在每个case语句块的最后,我们加上了一个break语句,用来退出switch语句。如果忘记加上break语句,程序将会继续判断后续的case语句,并执行后续case语句的代码块。

四、switch-case语句的枚举用法

Java中的枚举是一种数据类型,可以让我们定义一些常量,而这些常量是不可变的。使用枚举和switch-case语句可以很好地处理很多问题。如下:

public enum Weekday {
    MONDAY, TUESDAY, WEDNESDAY,
    THURSDAY, FRIDAY, SATURDAY, SUNDAY
}

public class Test {
   public static void main(String[] args) {
      Weekday day = Weekday.MONDAY;
      switch (day) {
         case MONDAY:
            System.out.println("Today is Monday");
            break;
         case TUESDAY:
            System.out.println("Today is Tuesday");
            break;
         case WEDNESDAY:
            System.out.println("Today is Wednesday");
            break;
         case THURSDAY:
            System.out.println("Today is Thursday");
            break;
         case FRIDAY:
            System.out.println("Today is Friday");
            break;
         case SATURDAY:
            System.out.println("Today is Saturday");
            break;
         case SUNDAY:
            System.out.println("Today is Sunday");
            break;
      }
   }
}

在这个示例中,我们定义了一个名为Weekday的枚举类型,包含了一周的各个天。然后我们在switch-case语句中判断day变量的值,分别输出每一天的信息。

五、switch-case语句的使用限制

虽然Java的switch-case语句很方便,但是它的使用有一些限制:

  1. switch语句只能测试int、short、byte、char和枚举类型的值。不能测试boolean、long、float或double类型的值。
  2. case语句中的值必须是常量,不能是变量或表达式。
  3. 在同一个switch语句中,case值不能重复。重复的值会导致编译错误。
  4. switch语句必须包含一个default语句。如果没有,编译器会发出警告。

总之,Java的switch-case语句是一种很方便、实用的语句,可以用来控制程序的流程。在使用switch-case语句的过程中要注意使用限制,以免导致错误和bug的产生。