Java选择语句之switch

简介: Java选择语句之switch

注:switch相当于上述的选择结构,只能选一个进行运行!

switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

1 语法

switch case 语句语法格式如下:

switch(expression){
    case value :
       //语句
       break; //可选
    case value :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}

2 switch case 语句有如下规则

1.switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。

2.switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号

3.case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。

4.当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。

5.当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。

3.switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句,也就是你default不论放在什么位置也是先找case(但是如果没有匹配的数字就会走到default),但是如果defaul默认执行下面仍有case但无break就会穿透继续执行。

3 实例运行

public class TestSwitch {
  public static void main(String[] args) {
    /*int month = (int) (1 + 12 * Math.random());*/
    int month =2;
    System.out.println("月份:" + month);
    switch (month) {
    case 1:
      System.out.println("一月份!过新年了!");
      break;
    case 2:
      System.out.println("二月份!开春了");
      /*break;*/
    default:
      System.out.println("我是其他月份!");
      break;
    }
}
}

运行效果:

4 测试default在前面

public class TestSwitch {
  public static void main(String[] args) {
    /*int month = (int) (1 + 12 * Math.random());*/
    int month =3;
    System.out.println("月份:" + month);
    switch (month) {
    default:
      System.out.println("我是其他月份!");
      //break;
    case 1:
      System.out.println("一月份!过新年了!");
      break;
    case 2:
      System.out.println("二月份!开春了");
      /*break;*/
    }
}
}

运行结果:

switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断。

5 字符判断实例:

Test.java 文件代码:

public class Test {
   public static void main(String args[]){
      //char grade = args[0].charAt(0);
      char grade = 'C';
      switch(grade)
      {
         case 'A' :
            System.out.println("优秀"); 
            break;
         case 'B' :
         case 'C' :
            System.out.println("良好");
            break;
         case 'D' :
            System.out.println("及格");
            break;
         case 'F' :
            System.out.println("你需要再努力努力");
            break;
         default :
            System.out.println("未知等级");
      }
      System.out.println("你的等级是 " + grade);
   }
}

以上代码编译运行结果如下:

6 if和switch的核心区别:

if判断范围,而switch只会在有效范围内判断选择。

目录
相关文章
|
6月前
|
JavaScript 前端开发 Java
Java switch升级之路
`switch` 是一种用于多分支条件判断的控制流语句。它通过检查一个表达式的值,然后根据不同的情况执行相应的代码块。 在大多数编程语言中,`switch` 语句由多个 `case` 分支组成,每个 `case` 后面跟着一个常量或表达式,用来与待判断的表达式的值进行比较。当找到与表达式值匹配的 `case` 时,对应的代码块将会被执行,然后程序跳出 `switch` 语句。
53 0
|
17天前
|
存储 Java
模式匹配魔法:Java 21中switch语句的巨大进化
模式匹配魔法:Java 21中switch语句的巨大进化
12 0
|
17天前
|
Java
掌握Java 17的利器:Switch语句升级,模式匹配闪耀登场
掌握Java 17的利器:Switch语句升级,模式匹配闪耀登场
14 0
|
17天前
|
Java
Java 14 强势登场:Switch 表达式的进化之路
Java 14 强势登场:Switch 表达式的进化之路
19 0
|
5月前
|
Java
Java中的条件语句:if语句和switch语句的作用与区别
Java中的条件语句:if语句和switch语句的作用与区别
139 0
|
1月前
|
Java
Java switch case 语句
Java switch case 语句
10 0
|
5月前
|
Java
Java的流程控制(选择结构语句 if ~ switch &循环结构语句dowhile ~ for)
程序执行的控制流程分为三种,也称为三种结构,分别是:顺序结构、和循环结构。 顺序结构指的是程序执行按照代码的编写顺序,依次从上往下开始执行,直到程序结束。程序的执行默认是顺序执行的
43 1
|
1月前
|
Java
【Java从入门到精通】Java switch case 语句
【Java从入门到精通】Java switch case 语句
21 0
|
7月前
|
Java
Java 分支结构 - if...else/switch
Java 分支结构 - if...else/switch
|
8月前
|
Java
解析Java Switch:多路分支的精妙运用
在Java编程中,分支结构是一种关键工具,用于根据条件决定不同的执行路径。除了常见的if-else语句,Java还提供了另一种强大的分支结构——switch循环。本文将引领您深入了解Java中的switch循环,包括其基本用法、特点、限制以及在实际开发中的应用场景。