三元表达式,if选择结构和switch的优劣分析

 对于Java的初学者来说,学习选择结构的时候通常会感觉程序太长,写起来特别麻烦,碰到简单的if的基本选择结构还好,毕竟就一两个简单的选择判断选项,咬咬牙也就码出来了。但是碰到很多限制条件的程序,比方说兴趣爱好,生活作息,年龄,性别等等等等,夹杂了特殊的算法混合起来,直接让人头皮发麻,就像我今天写的一个身高预测系统一样,除了要收集到用户父母的身高啊,孩子的年龄啊,孩子的生活习惯和饮食规律也要统合起来一起计算,感觉头疼的不行,先放一张下午这个系统的部分代码图给大家看一下

 我感觉这个对于逻辑思维能力的要求还是有点高的,然后我的同事一开始建议我用boolean的条件选择去做,我感觉那个重复性的工作量太多了(因为要把8种情况全部列举出来,一个一个的算),于是就放弃了

后来无意中看到一个叫三元表达式的方法,感觉非常的方便,代码的表示类似如下图

突然感觉很有递进感有木有,逻辑就清晰起来了

可惜下午在使用的过程中,还是发现了很多有所不足的地方,所以就拿if的选择结构的和这个三元表达式做一个简单的比较吧,顺便也带上很多人不太常用的switch来作比较。

简单说一说几种方法的优缺点吧

1        三元表达式的程序语言比较短,就一句,看起来比较有逻辑性,适合复杂度比较低的判断优良中差类型的程序,但是后续如果代码的数量上来了,几万条,甚至几十万条的时候,想修改其中的一部分就会非常麻烦,所以说灵活性还是不太行的。

2        if的选择结构种类比较多,也很完善,什么if else,多重if,嵌套式if还是比较丰富的,基本上能满足所有的选择结构类程序的算法,是一个比较成熟的方法

3        switch呢,就比较适合多重分支的情况,但是只适用于等值判断的情况,限制性比较大,所以一直就比较冷门

以上分析只是属于个人的一点小感受,欢迎大佬来提意见

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值