我想知道使用if语句或switch之间是否有效率差异。例如:
if(){ //code } else if(){ //code } else{ //code }
我认为,即使第一个if语句为true,程序也需要检查所有if语句。
switch(i){ case 1: //code break; case 2: //code break;
但是在开关中,有一个break命令。我的对吗?如果没有,您能否解释一下两者之间的效率差异?
Switch性能优于if else切换时的性能。一旦评估了开关,它就会知道需要执行哪种情况,但是在if else最坏的情况下必须经历所有情况。
Switch
if else
列表条件越长,切换性能越好,但是对于较短的列表(仅两个条件),它也会变慢
从为什么切换比如果更快
通过切换,JVM加载要比较的值并遍历值表以找到匹配项,这在大多数情况下更快