2015-08-21 62 views

回答

3

第一個是一個嵌套如果即

if(condition1) { 
    if(condition2) { 
     statement1 ; 
    } 
    statement2 ; 
} 

只有當condition1condition2爲真,並且statement2每當時,這將執行是真的。執行如下:

  • 首先對condition1進行評估和檢查。如果屬實,則控制流程將進入第一個if的範圍。
  • 現在對condition2進行評估和檢查,如果爲true,則控制流將進入第二個範圍if並執行statement1
  • 如果它是假的,那麼控制流程不會執行statement1
  • 由於在第一個if內不再有if,因此執行statement2
  • 如果第一個condition1本身是假的,則不執行任何操作。

第二個是2個如果,不彼此相關,即

if(condition1) { 
    statement1 ; 
} 

if(condition2) { 
    statement2 ; 
} 

這裏如果condition1爲真,statement1被執行並且如果condition2爲真,則statement2被執行。無論如何,兩個if s都沒有關係。對於使用if - else梯即

if(condition1) { 
    statement1 ; 
} 
else 
if(condition2) { 
    statement2 ; 
} 

在這種情況下,condition2將被檢查僅當condition1是假的。

1

沒有縮進可能很容易被誤認,這就是爲什麼縮進非常重要。基本上,第一個代碼是:

if (conditionA) { 
    // code A 
    if (conditionB) { 
    // code B 
    } 
} 

正如你所看到的,「代碼B」將只有兩個conditionAconditionBtrue執行。

在第二個例子中,兩個if聲明是在同一水平線上:

if (conditionA) { 
    // code A 
} 

if (conditionB) { 
    // code B 
} 

因此這裏的「代碼B」只需要conditionBtrue才能進行評估。