前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java控制流程语句switch

java控制流程语句switch

原创
作者头像
堕落飞鸟
发布2023-04-04 07:07:13
6050
发布2023-04-04 07:07:13
举报
文章被收录于专栏:飞鸟的专栏

一、语法

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

代码语言:javascript
复制
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”语句来判断一个数字对应的中文数字:

代码语言:javascript
复制
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”语句可以使代码更加简洁和易读:

代码语言:javascript
复制
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”语句还可以嵌套在其他控制流程语句中使用,例如:

代码语言:javascript
复制
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”语句的示例程序,它根据用户输入的月份输出该月份所在的季节:

代码语言:javascript
复制
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”类来获取用户的输入。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、语法
  • 二、用法
  • 三、示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档