2014-09-29 78 views
0

文本在switch語句中起什麼作用?改用變量會更好嗎?或者如何使用常量?在Switch語句中使用文字而不是變量? Java

+0

在'case'語句(在'switch'中)你的標籤必須是編譯時間常量。 – 2014-09-29 18:09:31

+0

完全避免切換語句。它們的靜態結構使得它不必要地維護它們。嘗試爲你的問題找到一個動態的方式。 (只是一般的建議,而不是解決你的問題;))。 – Tom 2014-09-29 18:09:44

+1

@Tom我不同意,switch語句在代碼中非常有用,並且使代碼看起來比添加許多if語句更加清晰。 – mdewitt 2014-09-29 18:10:52

回答

3

通常你switch上一個變量,從來沒有一個文字。您對文字使用case,像這樣:

public void doSomething(int x) { 
    switch(x) { 
     case 1: System.out.println("It's 1."); break; 
     default: System.out.println("It's something else."); break; 
    } 
} 

在文字使用「開關」不會真的太大的意義 - 文字上只能有一個值(其值在你寫的時候被稱爲碼)。開關塊可以讓你根據值是什麼來做不同的事情。但既然你知道什麼是價值(這是一個字面意思),那麼switch就沒有意義了。

常量通常在case語句中出現,但由於同樣的原因,文字不在此處使用,因此再次出現在switch中。