3

私のJavaプログラム内には、3つの異なる入力に3つの異なる結果を与える制御構造が必要です。

入力1:テキスト1

入力2:テキスト2

入力3:テキスト3

ここでの私の質問は次のとおりです。ベストプラクティスと効率の面で、どの制御構造を使用する必要がありますか?私の最初の考えはスイッチケースでしたが、なぜIF-Structuresやネストされたものよりもそれを選択するのでしょうか?演算子??

4

3 に答える 3

3

最初に読みやすさを追求し、次に必要に応じて効率を高めるように努める必要があります。オプションが多い場合は、小さい場合はスイッチを使用し、if/elseを使用します

于 2012-12-07T09:06:29.613 に答える
3

この状況では、純粋に読みやすさに基づいて、switchステートメントがやや好まれることに一般的に同意していると思います。追加のケースを追加すると、スケーリングが大幅に向上します。3つのオプションを使用しても、特に1つの入力の3つのバリエーションである場合は、さらに読みやすくなります。パフォーマンスの違いはごくわずかですが、その特定の側面に本当に入りたいのであれば、確かにそこに議論があります。

同様の読みやすさの理由から、2つ以上の場合は三項演算子(つまり、インラインif /'?')を避けることをお勧めします。個人的には、私もそれを解析せず、関係するすべての表現が非常に簡潔でない限り、それを避けます。

ほとんどトピックから外れていますが、興味深いことに、文字列のスイッチオンはJava7までJavaに追加されていませんでした。

于 2012-12-07T09:10:50.500 に答える
1

多分ネストされた三項演算子?冗談だ。ここでの効率は、どの構造を使用してもほぼ同じになると思います。(エラーが発生しにくい-忘れないでください-)if/elseよりも読みやすいと思うので、私はに行きますが、それは単なる意見です。swtichbreaks

于 2012-12-07T09:13:16.963 に答える