switch()只能带字符型吗?如果存在匹配“快递公司”与“圆通”,“申通”,“韵达”的匹配,岂不是能使用switch()?这个功能和条件语句有何差异和优势?
switch只能用于整型变量和字符型变量,像你说的“快递公司”“圆通”都不能使用switch语句,switch语句代码较长,但是执行效率比if要高
switch()后面可以带字符型或者整数型,即char和int。对快递公司的选择完全可以使用switch()当然使用if语句从结果上来说也是一样的。但是用条件语句会有多次判断。switch语句是检验判定值,然后选择相对应的语句执行。而if语句是一个一个的执行,直到执行到符合判定结果的那一个if语句。也就是说用if语句的话,在编程的时候把可能性最高的、出现频率最高、可能性最大的选项放在前面,可以提高程序的运行速度。
你是不是没看仔细了,这是注意里面的几点
不得不说的几点小秘密:
1、 switch 后面小括号中表达式的值必须是整型或字符型
2、 case 后面的值可以是常量数值,如 1、2;也可以是一个常量表达式,如 2+2 ;但不能是变量或带有变量的表达式,如 a * 2
3、 case 匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容,直到遇到 break 语句或者 switch 语句块结束
没有呀,整型也是可以的。跟IF相比,它能够对比的条件更多些,也不显得复杂