在我的java程序中我需要一个控制结构,它应该为3个不同的输入提供3种不同的结果。
输入1:文字1
输入2:文字2
输入3:文字3
我的问题是:最佳实践明智且效率明智,应该使用哪种控制结构?我的第一个想法是转换案例,但为什么我会选择IF-Structures或嵌套?运营商 -
答案 0 :(得分:3)
您应首先争取良好的可读性,然后在需要时提高效率。如果有很多选项,请使用switch if if,使用if / else
答案 1 :(得分:3)
我认为你会发现它普遍认为在这种情况下,开关语句是温和的首选,纯粹基于可读性。如果添加额外的情况,它可以更好地扩展,甚至有三个选项,它仍然更具可读性,特别是对于一个输入只是三个变体的情况。性能差异可以忽略不计,但如果你真的想进入这个特定的方面,肯定会有讨论。
出于类似的可读性原因,我建议避免使用三元运算符(即内联if /'?')两个以上的情况。就个人而言,我也不解析它,除非所涉及的所有表达都非常简短,否则我会避免使用它。
主要是偏离主题,但有趣的是,在Java Java 7中没有添加字符串。
答案 2 :(得分:1)
也许是嵌套的三元运算符?开玩笑。我认为无论使用什么结构,这里的效率几乎都是相同的。我会选择if/else
因为我认为比swtich
更容易阅读(更不容易出错 - 不要忘记breaks
- )但这只是一个意见。