Java switch case语句

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

switch(expression){//变量类型可以是byte,short,int,char,String
    case value://case标签后面必须是字符串常量或字面量
        //代码语句,当case的值和变量的值相等时,会执行case里面的代码语句,直到break时跳出switch语句
        break;//遇到break,switch语句终止,case语句不是必要跟着break,没有break出现,程序会执行下一跳,直到break出现
    case calue:
        //代码语句
        break;
    //可以有很多个case语句,每个case语句后面跟着要比较的值和冒号
    default://switch语句包含一个default,一般放在最后,在没有case值和变量值相等的时候执行,不需要break
        //代码语句
}

switch case执行时,一定会先进行匹配,匹配成功返回单签case的值,在根据是否有break判断是否跳出。

public class Test{
    public static void main(String args[]){
        char grade = ‘B‘;

        switch(grade){
            case ‘A‘:
                System.out.println("优秀");
                break;
            case ‘B‘:
                System.out.println("良好");
                break;
            case ‘C‘:
                System.out.println("及格");
                break;
            default:
                System.out.println("不及格");
            }
            System.out.println("成绩为:"+grade);
        }
}

运行结果

良好成绩为:良好

②如果grade为其他除了ABC以外的字符,会运行default的代码,输出结果为

public class Test{
    public static void main(String args[]){
        char grade = ‘J‘;

        switch(grade){
            case ‘A‘:
                System.out.println("优秀");
                break;
            case ‘B‘:
                System.out.println("良好");
                break;
            case ‘C‘:
                System.out.println("及格");
                break;
            default:
                System.out.println("不及格");
            }
            System.out.println("成绩为:"+grade);
        }
}
不及格
成绩为:不及格

③如果存在case没有break,那么在匹配的case之后的没有break的语句都会执行,一直到遇到break

public class Test{
    public static void main(String args[]){
        int i=1;

        switch(grade){
            case 0:
                System.out.println("0");
            case 1:
                System.out.println("1");
            case 2:
                System.out.println("2");
                break;
            default:
                System.out.println("3");
            }
        }
}
1
2

原文地址:https://www.cnblogs.com/jaci/p/11397183.html

时间: 2024-10-10 20:00:35

Java switch case语句的相关文章

Java switch case 语句

switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断. class Test { public static void main(String args[]){ //char grade = args[0].charAt(0); char grade = 'C'; switch(grade) { case 'A' : S

Java-Runoob:Java switch case

ylbtech-Java-Runoob:Java switch case 1.返回顶部 1. Java switch case 语句 switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. 语法 switch case 语句语法格式如下: switch(expression){ case value : //语句 break; //可选 case value : //语句 break; //可选 //你可以有任意数量的case语句 default : //可选

java中的Switch case语句

java中的Switch case 语句 在Switch语句中有4个关键字:switch,case break,default. 在switch(变量),变量只能是整型或者字符型,程序先读出这个变量的值,然后在各个"case"里查找哪个值和这个变量相等,如果相等,则条件成立,程序执行相应的分支,直到碰上break或有switch语句结束. 有几个需要着重注意的地方. 第一,前面说了switch(变量),只能是整型和字符类型. 第二,case之后是直接的常量数值. 第三,break使得程

c++模板元编程五:switch/case语句编译时运行

2.4 switch/case 替代 现在模拟switch/case语句,不过也是在编译期运行.先看调用代码和输出结果 // test case cout << "test case" << endl; Case<2>::Run(); test case case 2 实现代码很简单,还是模板特化 template<int v> class Case { public: static inline void Run() { cout &l

Switch Case语句中多个值匹配同一个代码块的写法

switch ($p) { case 'home': case '': $current_home = 'current'; break; case 'users.online': case 'users.location': case 'users.featured': case 'users.new': case 'users.browse': case 'users.search': case 'users.staff': $current_users = 'current'; break

Python | 基础系列 &#183;?Python为什么没有switch/case语句?

与我之前使用的所有语言都不同,Python没有switch/case语句.为了达到这种分支语句的效果,一般方法是使用字典映射: def numbers_to_strings(argument): switcher = { 0: "zero", 1: "one", 2: "two", } return switcher.get(argument, "nothing") 这段代码的作用相当于: function(argument)

C语言中switch...case语句中break的重要性

在C语言中switch...case语句是经常用到的,下面我介绍一下在使用该语句时候需要注意的一个细节问题.话不多说,直接举例子: 例子1: switch(fruit) { case 1:printf("apple"); break; case 2:printf("banana"); break; case 3:printf("orange"); break; case 4:printf("pear"); break; cas

switch case 语句

Switch case 语句 输入一个年月日,判断是这一年的第几天? Console.WriteLine("请输入年:"); int year = int.Parse(Console.ReadLine()); Console.WriteLine("请输入月:"); int month = int.Parse(Console.ReadLine()); Console.WriteLine("请输入日:"); int day = int.Parse(C

c++中switch case语句多个值同个语句块写法

switch case语句: 1 switch(表达式) 2 { 3 case 常量表达式1: 4 { 5 语句块1: 6 break: 7 } 8 …… 9 case 常量表达式n: 10 { 11 语句块n: 12 break: 13 } 14 default: 15 { 16 语句块n+1: 17 } 18 } 当碰到多个常量使用同一语句块时,我习惯性用了pascal的写法,即如case 1..3,5这样子,而正确的写法应该是: 1 case 1:case 2:case 3: 2 { 3