其他情况下,switch-case 是逐个分支判断(lookupswitch),性能与 if-else 无异。 switch-case 中的 case 只能是常量,而 if-else 用途更广一些。 在选择分支较多且连续或者范围相隔不大时,选用 switch-case 结构会提高程序的效率,但switch 不足的地方在于只能处理字符或者数字类型的变量。if-else 结构更加灵活一些,i...
importjava.util.Scanner; classIfTest{ publicstaticvoidmain(String[] args){ Scanner scan =newScanner(System.in); System.out.println("请输入你的分数:"); intnum =scan.nextInt(); if(num >=90&& num <=100){ System.out.println("A"); } elseif(num >=70&& num <=90){ System.out.printl...
更多时候,Java Switch 语句提供了比 Java if-else 语句可用的各种选项更好的选择。语法:switch (expression){case 1: // case 1语句break;case 2: // case 2语句break;case 3: // case 3语句break;...case N: // case N语句break;default; // 默认语句} switch语句的操作是先判断swit...
num1 = 7; break; case 9: num1 = 9; break; default: num1 = -1; break; } } @Benchmark public void ifTest(){ int num1; if(_NUM == 1){ num1 = 1; }else if(_NUM == 3){ num1 = 3; }else if(_NUM == 5){ num1 = 5; }else if(_NUM == 7){ num1 = 7; }else...
Switchcase 执行效率高 原因:执行同样的逻辑判断 IFelse 的逻辑判断在最后一个,那么它的从第一个开始判断每次经过if 在经过else 在经过if ….那么在switch case 里呢,只需判断其case部分在执行其case下的内容..这样比较的话 switch case的效率貌似比if else的高… ...
优点:代码结构小,使用灵活,应用范围广; 缺点:效率低(相对switch); 总结 具体使用哪种句法,开发中还需要根据具体的业务需求来选择,如果选择分支过多(多于三个)就可以是使用switch语句,效率还是很客观的,反之,选择分支不多的情况下,if...else还是比较靠谱的,比较更灵活。
结论:switch比if快10倍左右。 原理分析: 1.switch用来根据一个整型值进行多路分支,并且编译器可以对多路分支进行优化 2.switch-case只将表达式计算一次,然后将表达式的值与每个case的值比较,进而选择执行哪一个case的语句块 3.if..else 的判断条件范围较广,每条语句基本上独立的,每次判断时都要条件加载一次。所以...
Test.java 文件代码: public class Test { public static void main(String args[]){ //char grade = args[0].charAt(0); char grade = 'C'; switch(grade) { case 'A' : System.out.println("优秀"); break; case 'B' : case 'C' : System.out.println("良好"); break; case 'D' : ...
简单地说,switch能满足的场景一般都比较简单,而且有更好的实现方法(if else 也有)。而现在的业务...
在JDK 12之前如果switch忘记写break将导致贯穿,在JDK 12中对switch的这一贯穿性做了改进。你只要将cas...