2014-03-31 190 views
1

大如何使一個switch語句的條件是這樣的:switch語句比

if(age>18) 

我希望它看起來像這樣,但隨後在switch語句的版本。

這可能嗎?

+5

什麼語言是您使用? –

回答

1

取決於您使用的語言。

C# =>不可能switch case

每個案例標籤指定一個恆定值

爪哇 =>不可能switch case的if-then-else語句可以測試基於 值或條件的範圍的表達式,而switch語句測試表達式 基於

的只有在一個整數

如果您使用Java或C#,則必須使用if-elseif-elseif-else方法。


的Javascript =>可能switch case

情況expressionN用於匹配表達式的情況子句。

switch (true) { 
    case age > 18: 
    document.write("You are older than 18"); 
    break; 
} 
0

您還沒有指定一個語言,但下面的結構是可能的,其中採取開關的表達語言,即:

switch (age>18) 
{ 
    case true: 
    // Do over 18 stuff here 
    break; 
    case false: 
    // Do under 18 stuff here 
    break; 
} 

雖然這個工作,這不會是一種直觀的分支技術,因此代碼的可讀性可能會受到影響 - 對分支機構使用if/then else,或條件評估的條件運算符更爲常見。

0

大多數情況下,當您完全匹配短語時會使用switch語句。

switch (age>18) 
{ 
case true: 
//Do something 
    break; 
case false: 
    //Do something 
    break; 
    } 

在你的情況,如果使用也condition.It將會爲您提供更好的方法來檢查你的數據。如果你的年齡小於18歲或任何其他情況。

if(age>18) 
{/* Do something if your condition is true */ } 
else 
{ /* When your condition is false */ } 
0

是的,這可能是一種'反向條件'的伎倆 - 當然,如果支持這種語言的話。這就是它的外觀在JavaScript:

function checkAge(age) { 
    switch (true) { 
    case age < 18: 
     console.log('Really young'); 
     break; 
    case age < 25: 
     console.log('Young and proud'); 
     break; 
    case age < 32: 
     console.log('Mature and proud'); 
     break; 
    default: 
     console.log('Well, I got some news for you...'); 
    } 
} 

checkAge(17); // Really young 
checkAge(24); // Young and proud 
checkAge(31); // Mature and proud 

訣竅是,每個後續case值與指定爲switch值表達式檢查。不過,由於您需要用break來劃定每個部分,我真的懷疑這比if-else聲明更具可讀性。

0

技術上你可以把它像(C#代碼示例):

switch (age) { 
    case 0: 
    case 1: 
    case 2: 
    ... 
    case 18: 
    break; 
    default: // <- if(age>18) 
    ... 
    break; 
} 

但你真的它?在C#中,爪哇等我們平時使用如果其他

if (age <= 5) { // from 0 up to 5 
    ... 
    } 
    else if (age <= 10) { // from 5 up to 10 
    ... 
    } 
    else if (age <= 18) { // from 10 up to 18 
    ... 
    } 
    else { // over 18 
    ... 
    } 

情況下,SQL方言(其中經常你如果建設有),你可以把它這樣的:

case 
    when (age > 18) then 
     ... 
    else... 
    end 

例如

在PHP
0

你可以這樣做:

switch($age) { 

    case ($age < 17): 
    print "do something"; 
    break; 
    case ($age > 18): print "over 18"; break; 
}