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