Java:多重选择switch语句

public class Demo {
    public static void main(String args[]) {
        char c = ‘A‘ ;
        int num = 10 ;
        switch(c) {
            case ‘B‘ :
                num ++ ;
            case ‘A‘ :
                num ++ ;
            case ‘Y‘ :
                num ++ ;
                break ;
            default :
                num -- ;
        }
        System.out.println(num) ;
    }
}

   最终执行结果是什么?

第一次看见这个问题的时候,我觉得num的输出应该是10,是觉得zai switch中匹配到了A这个case以后先进行了num的自增,然后在default里又自减了。其实是对switch的理解不够充分。

switch的使用有可能触发多个分支。如果在case分支语句的结尾没有break语句,那么就会接着执行下一个case分支语句。

所以最终执行结果应该是12.

原文地址:https://www.cnblogs.com/shannen/p/12303452.html

时间: 2024-08-29 18:38:49

Java:多重选择switch语句的相关文章

Java中的switch语句后面的控制表达式的数据类型

Java中的switch语句后面的控制表达式的数据类型 1.byte 2.char 3.short 4.int 5.枚举类型 6.Java 7允许java.lang.String类型

通过字节码分析java中的switch语句

在一次做题中遇到了switch的问题,由于对switch执行顺序的不了解,在这里简单的通过字节码的方式理解一下switch执行顺序(题目如下): public class Ag{ static public int i=10; public static void main(String []args){ switch(i){ default: System.out.println("this is default"); case 1: System.out.println("

Java学习:switch语句使用的注意事项

switch语句使用的注意事项: 多个case后面的数值不可以重复. switch后面的小括当中只能是下列数据类型: 基本数据类型:byte/short/char/int 引用数据类型:String字符串.enum枚举. switch语句格式可以很灵活:前后顺序可以颠倒,而且break语句还可以省略. “匹配到哪一个case就从哪一个位置向下执行,直到遇到了break或者整体结束为止.” public class CaiNiao{ public static void mian(String[]

java基础:流程控制(选择结构switch语句)

(1)格式: switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; break; ... default: 语句体n+1; break; } 格式解释说明: switch:说明这是switch语句. 表达式:可以是byte,short,int,char JDK5以后可以是枚举 JDK7以后可以是字符串 case:后面的值就是要和表达式进行比较的值 break:表示程序到这里中断,跳出switch语句 default:如果所有的情况都不匹配,就执行这

Java选择结构------------if语句 switch语句

Java选择结构(if语句 switch语句) 1.if选择结构:    ①if(布尔表达式){        //如果布尔表达式为true,就执行的语句    }    *如果if语句后只有一条语句,那么if语句的大括号可以不要 ②if(布尔表达式){        //如果布尔表达式为true时执行    }else{        //如果布尔表达式为false时执行    }    *一个else只能跟随一个相关的if,else语句不能单独出现 ③if(布尔表达式){        //

java语法基础-程序流程控制-选择结构-switch语句

switch(表达式)  //被选择的表达式的值的数据类型只能是byte short int char { case 取值1: 执行语句: break: case 取值2: 执行语句: break: -... default: 执行语句: break:} switch语句特点: 1.switch语句选择的类型只有四种:byte,short,int , char. 2.备选答案没有顺序.但是执行必然从第一个case执行. 3.只有所有的case不匹配,才会执行default. 4.结束特点:遇到b

3.8.5 多重选择:switch语句

在处理多个选项时,使用if/else结构显得有些笨拙. Scanner in = new Scanner(System.in); System.out.println("Select an option (1, 2, 3, 4)"); int choice = in.nextInt(); switch(choice){ case 1: System.out.println(1); break; case 2: System.out.println(2); break; case 3:

29 Java语言基础选择结构switch语句的格式及其解释 Tooho King

switch 语句的格式 inx = 10 switch(表达式){ case 值1; break; case 值2; break; ... defualt: 语句n-1; break; } 注意  btye short char String 才能作为表达式 long不行 也就是基本类型里面能够转换为int的类型都可以做为case的表达式. 1 public class Test1_DataTypeConversion { 2 3 public static void main(String[

选择结构if语句和switch语句的区别

1.选择结构if语句格式及其使用 A:if语句的格式: if(比较表达式1) { 语句体1; }else if(比较表达式2) { 语句体2; }else if(比较表达式3) { 语句体3; } ... else { 语句体n+1; } B:执行流程: 首先计算比较表达式1看其返回值是true还是false, 如果是true,就执行语句体1,if语句结束. 如果是false,接着计算比较表达式2看其返回值是true还是false, 如果是true,就执行语句体2,if语句结束. 如果是fals