3

在我的 java 程序中,我需要一个控制结构,它应该为 3 个不同的输入提供 3 个不同的结果。

输入 1:文本 1

输入 2:文本 2

输入 3:文本 3

我的问题是:最佳实践和效率方面,应该使用哪种控制结构?我的第一个想法是 switch case,但为什么我会选择 IF-Structures 或 nested 呢?运营商??

4

3 回答 3

3

您应该首先争取良好的可读性,然后在需要时提高效率。如果有很多选项,小就用switch,如果/else

于 2012-12-07T09:06:29.613 回答
3

我想你会发现人们普遍认为 switch 语句在这种情况下是温和的首选,纯粹是基于可读性。如果添加额外的案例,它的扩展性会更好,即使有三个选项,它仍然更具可读性,特别是案例只是一个输入的三个变体。性能差异可以忽略不计,但如果你真的想进入那个特定的方面,肯定会有讨论。

出于类似的可读性原因,我建议在超过两种情况下避免使用三元运算符(即内联 if/'?')。就个人而言,我也不会解析它,除非涉及的所有表达式都非常简短,否则我会避免它。

大部分是题外话,但有趣的是,在 Java 7 之前,Java 中没有添加打开字符串。

于 2012-12-07T09:10:50.500 回答
1

也许是嵌套的三元运算符?只是在开玩笑。我认为无论使用何种结构,这里的效率都将几乎相同。我会选择,if/else因为我认为它比 a 更具可读性swtich(更不容易出错 - 不要忘记breaks-),但这只是一种意见。

于 2012-12-07T09:13:16.963 回答