switch的特点:只接受byte,shotr,int,char
语句的定义顺序可以随意的,但执行顺序还是从第一个case开始
public class SwitchDemo { public static void main(String[] args) { int x = 4; switch (x) { case 1: System.out.println("a"); break; case 2: System.out.println("b"); break; case 3: System.out.println("c"); break; case 4: System.out.println("d"); break;//遇到满足条件的就执行该语句并跳出switch语句 default: System.out.println("e"); break;//可以省略不写,遇到括号就会结束 } } }
无论default放在什么位置,运算都是从第一个case开始,所有case判断完才执行default
所有case不符合,执行default,之后没有break继续执行下面的语句不再判断case,只执行语句,直到遇到break或括号结束switch语句
public class SwitchDemo { public static void main(String[] args) { int x = 4; switch(x) { default: System.out.println("e"); //break; case 1: System.out.println("a"); //break; case 2: System.out.println("b"); break; case 3: System.out.println("c"); break; } } }
什么时候用if 什么时候用switch
if和switch语句很像 具体什么场景下 应用那个语句呢
如果具体数值不多而且符合byte short int char这四种类型
虽然两个语句都可以使用,建议使用switch语句,因为效率稍高
其他情况:对区间判断,对结果为boolean类型判断使用if if的使用范围更广
原文地址:http://www.cnblogs.com/LO-ME/p/3530556.html