if-else结构

Hal*_*alo 12 java if-statement readability

我有这些冗长的陈述,我将在这里称为x,y等.我的条件语句的结构如下:

if(x || y || z || q){
    if(x)
       do someth
    else if (y)
       do something

    if(z)
       do something
    else if(q)
       do something
}
else
    do smthing
Run Code Online (Sandbox Code Playgroud)

有没有更好,更短的方式来写这个东西?谢谢

Thi*_*ler 1

这对我来说似乎很清楚(而且清楚就是好的)。

您可以做的是首先评估 x、y、z 和 q 并将它们存储为变量,这样您就不必执行两次。

  • @Thirler 嗯,这将违背短路评估的目的。我认为平均而言,假设 x、y、z 和 q 的概率和时间复杂度相等,这将带来性能提升。但是,如果 z 的概率为 50%,需要很少的处理,而 q 的概率为 1%,需要 95% 的处理能力呢?看看如果没有适当的指标,微优化如何让您陷入麻烦? (3认同)