java多表return语句吗_java - 编程首选项 - 使用具有多个return语句的else ifs? - 堆栈内存溢出...

就个人而言,我认为else是不必要的。 由于这个问题被标记为[language-agnostic] ,我将提供一些如何编写它的例子:

def temperature_message(temp)

return 'Freezing' if temp < 32

return 'Brr' if temp < 60

return 'Comfortable' if temp < 80

'Too hot'

end

这是典型的保护条款风格,我个人和Ruby社区通常都会使用它。

def temperature_message(temp)

case

when temp < 32

'Freezing'

when temp < 60

'Brr'

when temp < 80

'Comfortable'

else

'Too hot'

end

end

这是一个典型的switch ,你可以在一些不那么强大的语言中找到它。 这可能是我不会使用的,我会像这样重构它:

def temperature_message(temp)

case temp

when (-1.0/0.0)...32

'Freezing'

when 32...60

'Brr'

when 60...80

'Comfortable'

else

'Too hot'

end

end

虽然我必须承认我仍然觉得第一个最容易阅读。

由于这基本上是一个映射表,我会尝试将其格式化,以便每个读取代码的人立即看到“table-ness”:

def temperature_message(temp)

case temp

when (-1.0/0.0)...32 then 'Freezing'

when 32...60 then 'Brr'

when 60...80 then 'Comfortable'

else 'Too hot'

end

end

这也适用于您的原始Java实现:

public String getTemperatureMessage(double temp) {

if(temp < 32) return "Freezing";

if(temp < 60) return "Brr";

if(temp < 80) return "Comfortable";

else return "Too hot";

}

当然,因为它基本上是一个映射表,你可能只是以及实现它的地图:

def temperature_message(temp)

{

(-1.0/0.0)...32 => 'Freezing',

32...60 => 'Brr',

60...80 => 'Comfortable',

80..(1.0/0.0) => 'Too hot'

}.detect {|range, _| range.include?(temp) }.last

end

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值