在一段代码编程中,肯定会用到不同的语法结构,java中的语法结构在整个程序中是十分重要的,像是一座建筑物的主框架一样。switch语句是选择语句中的一种,这篇文章总结了switch语句语法及原理的知识,适合java零基础的朋友们学习。
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大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习