JAVA switch和if else区别和使用场景

我们在实现业务逻辑是,如果是遇到某一个问题有多种情况时,需要做一些判断,感觉不同业务规则,得到不同结果。java语言中提供两种语法,就是switch case和if esle,主要从以下几个方面讲解。

 一:原理分析: 

  1.swtich case 原理:支持数据类型是包括short、byte、char、int、String和枚举。JVM虚拟机底层还是支持前面的四种,String是通过字符串的hash来匹配的,二枚举是通过int[]数组辅助处理的。它是底层是生成一个case值表,通过匹配case值来随机匹配。优点:如果比较超过3个以上使用switch比if else用时短,逻辑比较清晰,装逼专用,缺点:支持类型比较少,case不能为变量。如果case值远远比实际值少的时候,不建议使用。

  2.if else 原理:支持任何数据类型和表达式和变量,底层是通过写入内存逐个进行比较。优点:支持任何数据类型和表达式和

二:应用场景

 如果业务判断超过3个时候,建议使用switch。JAVA switch和if else区别和使用场景