2012-12-07 44 views
3

我的Java PROGRAMM內使用我需要有一個控制結構,該結構應得到3-不同的結果以3個不同的輸入。該控制結構,以與3個可能的輸入(效率)

輸入1:文本1

輸入2:文本2

輸入3:文本3

我的問題這裏是:最佳實踐明智和效率明智的,該控制結構,應使用?我的第一個想法是一個開關案例,但爲什麼我會選擇IF結構或嵌套?運營商 -

+0

可能的重複:http://stackoverflow.com/questions/3387758/java-case-statment-or-if-statement-efficiency-perspective – acostache

+0

你是什麼意思重複?在你的鏈接問題中,有一個普遍的問題。我的具體爲3個可能性。 – blacksmth

+0

首先寫了一個相關的,然後我改可能重複 - 因此它只是一個普通有關的一個 - 我的壞 – acostache

回答

3

我想你會發現它普遍認爲switch語句在這種情況下輕度首選,純粹的可讀性的基礎上。如果增加了額外的案例,並且即使有三個選項,它也可以更好地擴展,但它仍然更具可讀性,特別是對於一個輸入只有三種變體的情況。性能差異可以忽略不計,但如果你真的想進入這個特定的方面,肯定會有討論。

我建議避免三元運算符(即,內聯如果/「?」)對於任何兩起以上的可讀性類似的原因。就我個人而言,我不會解析它,除非所有表達式都非常簡短,否則我會避免它。

晴題外話,但有趣的是,在絃樂開關未添加到Java直到Java 7中

3

如果需要的話,你應該爭取良好的可讀性,再求效益。如果有很多選擇,如果使用小開關,使用的if/else

+0

謝謝您的回答!所以?沒有問題? – blacksmth

+0

不理解你的評論:(我個人會使用if/else 3種情況(只是爲了避免照顧'break'的事情) –

1

也許嵌套三元運算符?開玩笑。我認爲無論使用何種結構,效率都將幾乎相同。我會去爲if/else,因爲我覺得是更具可讀性比swtich(的錯誤更少 - 不要忘了breaks - ),但它只是一個意見。