switch语句语法及原理 - 极悦
首页 课程 师资 教程 报名

switch语句语法及原理

  • 2020-10-14 17:05:03
  • 2742次 极悦

在一段代码编程中,肯定会用到不同的语法结构,java中的语法结构在整个程序中是十分重要的,像是一座建筑物的主框架一样。switch语句是选择语句中的一种,这篇文章总结了switch语句语法及原理的知识,适合java零基础的朋友们学习。

image.png

Switch语句和if语句一样,都属于选择语句(分支语句)通过对给定的条件进行判断,从而决定执行两个或多个分支中的哪一支。因此,在编写选择语句之前,应该首先明确判断条件是什么,并确定当判断结果为“真”或“假”时应分别执行什么样的操作/算法。

switch语句基本语法格式,具体如下:

switch (表达式){
    case 目标值1:
        执行语句1
        break;
    case 目标值2:
        执行语句2
        break;
    ......
    case 目标值n:
        执行语句n
        break;
    default:
        执行语句n+1
        break;
}

在上面的格式中,switch语句将表达式的值与每个case中的目标值进行匹配,如果找到了匹配的值,会执行对应case后的语句,如果没找到任何匹配的值,就会执行default后的语句。switch语句中的break关键字的作用是跳出switch语句。

需要注意的是,在switch语句中的表达式只能是byte、short、char、int类型的值,如果传入其它类型的值,程序会报错。但上述说法并不严谨,实际上在JDK5.0中引入的新特性enum枚举也可以作为switch语句表达式的值,在JDK7.0中也引入了新特性,switch语句可以接收一个String类型的值。

switch语句原理是:

(1)拿switch语句中的值与第一个case中值比较的时候,如果相同,则执行该分支中的java语句,然后遇到"break"语句,switch语句就结束了,如果第一个不相等,则继续与后面的case值进行比较。

(2)如果分支执行了,但是分支最后没有"break",此时会发生case穿透现象,也就是说下一个分支也不再进行匹配,直接进入下一个分支执行,直到遇到"break"为止。

(3)所有的case都没有匹配成功,那么最后default分支会执行。

最后来看一个使用了switch语句语法及原理的代码案例:

public class SwitchTest02{
    public static void main(String[] args){
        java.util.Scanner s=new java.util.Scanner(System.in);
        System.out.print("请输入考生成绩:");
        double score=s.nextDouble();
        if(score<0 || score>100){
            System.out.println("您输入的学生成绩不合法");
            return;
        }
        //grade的值可能是:0 1 2 3 4 5 6 7 8 9 10
        //0-5不及格
        //6 及格
        //7 中
        //8 良
        //9 10 优
        int grade=(int)(score/10);
        String str="不及格";
        switch(grade){
        case 10:case 9://case可以合并
            str="优";
            break;
        case 8:
            str="良";
            break;
        case 7:
            str="中";
            break;
        case 6:
            str="及格";
            break;
        }
        System.out.println("该学生成绩等级为:"+str);
    }
}

Switch语句是常见也常用的一种选择语句,所以这篇文章中对switch语句语法及原理的介绍,是java零基础的朋友们必须要掌握的知识,对switch的原理和语法结构理解有更深入的理解和掌握,才能在实战过程中自如的应用switch语句。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交