引出
你有没有想过既然有了if elseif, 为什么还要设计一个switch case的语法出来呢?...switch case仅支持数字和字符串相等的判断, 甚至在 C 语言中只支持数字相等(其实其他语言也只支持数字, 随便写个 java 反编译一下就会发现, 它将一个switch case转成了两个,...相比之下, 它只能做数字的相等校验, 比if else要笨的多, if else可以做所有的逻辑判断....如果只能做数字的相等判断, 那么是不是可以将其想象成一个类似数组的结构, 可以直接以下标的形式进行索引, 而不是像if else要一个一个的进行判断呢? 没错, 事实上还真的是这样....最后, 其实我就是好奇有了if else为什么还要设计个switch出来, 结果找着找着还真挺有意思的, switch的底层实现居然是数组的随机访问, 果然, 就不能想, 全是学问.