首页后端开发JAVAjava控制流程语句switch

java控制流程语句switch

时间2023-04-05 17:06:01发布访客分类JAVA浏览1666
导读:一、语法“switch”语句的基本语法如下:switch (expression { case value1: // 当expression的值等于value1时执行的代码 break; case value2:...

一、语法

“switch”语句的基本语法如下:

switch (expression) {
    
  case value1:
    // 当expression的值等于value1时执行的代码
    break;
    
  case value2:
    // 当expression的值等于value2时执行的代码
    break;
    
  case value3:
    // 当expression的值等于value3时执行的代码
    break;

  default:
    // 当expression的值不等于任何一个case时执行的代码
}
    

其中,“expression”是一个可以返回一个值的表达式(如变量或函数调用),它的值将被与每个“case”子句中的值进行比较。如果“expression”等于某个“case”子句中的值,则执行该子句中的代码。如果“expression”不等于任何一个“case”子句中的值,则执行“default”子句中的代码。

每个“case”子句都必须以“break”语句结束,以避免执行下一个“case”子句中的代码。如果没有“break”语句,则所有后续“case”子句和“default”子句中的代码都将被执行。

二、用法

“switch”语句通常用于替代一系列“if-else”语句,以提高代码的可读性和可维护性。例如,下面的代码使用“if-else”语句来判断一个数字对应的中文数字:

int num = 3;
    
String chineseNum;

if (num == 1) {
    
  chineseNum = "一";

}
 else if (num == 2) {
    
  chineseNum = "二";

}
 else if (num == 3) {
    
  chineseNum = "三";

}
 else if (num == 4) {
    
  chineseNum = "四";

}
 else if (num == 5) {
    
  chineseNum = "五";

}
 else {
    
  chineseNum = "未知";

}
    
System.out.println(chineseNum);
    

使用“switch”语句可以使代码更加简洁和易读:

int num = 3;
    
String chineseNum;

switch (num) {
    
  case 1:
    chineseNum = "一";
    
    break;
    
  case 2:
    chineseNum = "二";
    
    break;
    
  case 3:
    chineseNum = "三";
    
    break;
    
  case 4:
    chineseNum = "四";
    
    break;
    
  case 5:
    chineseNum = "五";
    
    break;
    
  default:
    chineseNum = "未知";

}
    
System.out.println(chineseNum);
    

注意,在这个例子中,“case”子句中的值必须是整数常量或枚举常量。在Java SE 7及以上版本中,“case”子句中的值还可以是字符串常量。

“switch”语句还可以嵌套在其他控制流程语句中使用,例如:

int num = 3;
    
int level;

switch (num) {
    
  case 1:
  case 2:
  case 3:
    level = 1;
    
    break;
    
  case 4:
  case 5:
  case 6:
    level = 2;
    
    break;
    
  case 7:
  case 8:
  case 9:
    level = 3;
    
    break;
    
  default:
    level = 0;

}

switch (level) {
    
  case 1:
    System.out.println("初级玩家");
    
    break;
    
  case 2:
    System.out.println("中级玩家");
    
    break;
    
  case 3:
    System.out.println("高级玩家");
    
    break;
    
  default:
    System.out.println("未知等级");

}
    

在这个例子中,第一个“switch”语句根据“num”的值确定一个“level”值,第二个“switch”语句根据“level”的值输出一个对应的文本信息。注意,多个“case”子句可以共享同一个代码块(如“case 1: case 2: case 3:”),以减少代码冗余。

三、示例

下面是一个完整的“switch”语句的示例程序,它根据用户输入的月份输出该月份所在的季节:

import java.util.Scanner;


public class Season {

  public static void main(String[] args) {
    
    Scanner scanner = new Scanner(System.in);
    
    System.out.print("请输入月份(1-12):");
    
    int month = scanner.nextInt();
    
    String season;

    switch (month) {
    
      case 1:
      case 2:
      case 12:
        season = "冬季";
    
        break;
    
      case 3:
      case 4:
      case 5:
        season = "春季";
    
        break;
    
      case 6:
      case 7:
      case 8:
        season = "夏季";
    
        break;
    
      case 9:
      case 10:
      case 11:
        season = "秋季";
    
        break;
    
      default:
        season = "未知";

    }
    
    System.out.println(month + "月份所在的季节是:" + season);

  }

}
    

在这个程序中,用户输入一个月份,程序使用“switch”语句根据月份确定该月份所在的季节,并输出对应的文本信息。注意,我们使用了“Scanner”类来获取用户的输入。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

java

若转载请注明出处: java控制流程语句switch
本文地址: https://pptw.com/jishu/1884.html
java访问控制修饰符 java控制流程语句while

游客 回复需填写必要信息