首页 > 代码库 > switch语句语法格式

switch语句语法格式

switch语句语法格式


Switch是多条件判断语句。 
注意:使用switch中的表达式里面只能放字符或数字 
使用时不要忘了在case语句之后加上一个break,表示退出整个语句,如果不加入此语句,它会从第一个满足条件的地方开始后续的都要被执行。
我们看下如果在case语句后面没有加上break话会出现什么结果




我们发现不应该输出的case 2也输出了。
我们再修改下i值为2,加个case 3看下效果。




我们发现不满足条件的case 1没有被输出,而case 2和case 3输出了,所以我们也验证了如果不在case语句后加入一个break语句,它会从第一个满足条件的地方开始后续的都要被执行。
我们使用正确的写法修改下加上break语句哈:




现在只输出了正确的case 2语句。不满足条件的case 1和3就没有输出了。
我们再来修改下i的值为5,正常情况下应该是什么都不输出。




实际情况也是什么也没有输出哈。但是我们是不是也要提示一下取值超出范围了哈,所以我们需要使用到default语句,当没有条件满足时就输出default语句。




Demo06:

public class Demo06 

    public static void main(String args[]){ 
        int i = 5 ; 
        switch (i) 
        { 
        case 1: 
            { 
            //条件1 
            System.out.println("case 1 -->"+i); 
            break; 
            } 
        case 2: 
            { 
            //条件2 
            System.out.println("case 2 -->"+i); 
            break; 
            } 
        case 3: 
            { 
            //条件3 
            System.out.println("case 3 -->"+i); 
            break; 
            } 
        default : 
            { 
            //当所有条件都不满足的时候,就使用default语句 
            System.out.println("没有任何条件满足。"); 
            break; 
            } 
        }    
    } 
};

这就是一个完整的switch语句,非常简单。
现在将switch语句之中的条件变为字符试试哈:

 




我们验证了switch中的表达式里面也能放字符哈。
Demo07:

public class Demo07 

    public static void main(String args[]){ 
        char i = ‘A‘ ; 
        switch (i) 
        { 
        case ‘A‘: 
            { 
            //条件1 
            System.out.println("case 1 -->"+i); 
            break; 
            } 
        case ‘B‘: 
            { 
            //条件2 
            System.out.println("case 2 -->"+i); 
            break; 
            } 
        case ‘C‘: 
            { 
            //条件3 
            System.out.println("case 3 -->"+i); 
            break; 
            } 
        default : 
            { 
            //当所有条件都不满足的时候,就使用default语句 
            System.out.println("没有任何条件满足。"); 
            break; 
            } 
        }    
    } 
};

switch语句有关规则


练习:
我们使用switch语句改写前面两个5分制的实例哈。
将学生的成绩(5分制)转换为ABCDEF六个等级。




Demo08:

public class Demo08 

    public static void main(String args[]){ 
        int i = 5 ; 
        //使用switch进行判断 
        switch (i) 
        { 
        case 5: 
            { 
            System.out.println("成绩是A等。"); 
            break; 
            } 
        case 4: 
            { 
            System.out.println("成绩是B等。"); 
            break; 
            } 
        case 3: 
            { 
            System.out.println("成绩是C等。"); 
            break; 
            } 
        case 2: 
            { 
            System.out.println("成绩是D等。"); 
            break; 
            } 
        case 1: 
            { 
            System.out.println("成绩是E等。"); 
            break; 
            } 
        case 0: 
            { 
            System.out.println("成绩是F等。"); 
            break; 
            } 
        default : 
            { 
            //当所有条件都不满足的时候,就使用default语句 
            System.out.println("成绩不正确。"); 
            break; 
            } 
        }    
    } 
};

将学生的成绩(5分制)转换为优秀(5分),及格(3、4分),重修(0、1、2分)三个等级。




Demo09:

public class Demo09 

    public static void main(String args[]){ 
        int i = 3 ; 
        //使用switch进行判断 
        switch (i) 
        { 
        case 5: 
            { 
            System.out.println("优秀"); 
            break; 
            } 
        case 4: 
            { 
            System.out.println("合格"); 
            break; 
            } 
        case 3: 
            { 
            System.out.println("合格"); 
            break; 
            } 
        case 2: 
            { 
            System.out.println("重修"); 
            break; 
            } 
        case 1: 
            { 
            System.out.println("重修"); 
            break; 
            } 
        case 0: 
            { 
            System.out.println("重修"); 
            break; 
            } 
        default : 
            { 
            //当所有条件都不满足的时候,就使用default语句 
            System.out.println("成绩不正确。"); 
            break; 
            } 
        }    
    } 
};

注意: 
Switch语句只能判断数字或字符,而if…else if语句可以判断各种条件,只要条件中加入的是boolean值就可以。