else if と if の羅列の違い


if文の場合分け時にelse ifをよく使うのを見ますが、偶にifの箇条書きのように場合分けをしているのを見ました。

[code]

    if(){
    }else if(){
    }else if(){
    }
    
[/code]

と

[code]

    if(){}
    if(){}
    if(){}
    
[/code]

の違いはどのようなものでしょうか。




用途に応じて使い分ける必要があると思います。

`else if`の方は3つの波括弧のうちいずれかしか処理されません。  
箇条書きの方は3つ全ての波括弧の中が処理される可能性があります。

* * *

簡単な例を挙げると

"abc"という文字列を、

  * (1)先頭が"a"で始まる
  * (2)最後が"c"で終わる
  * (3)"abc"という文字列である

の３パターンで評価する場合

`else if`では以下の場合は(1)の評価の括弧内の処理しか実行されません。

[code]

    if((1)の評価){
        // "a"で始まる文字列
    }else if((2)の評価){
        // "c"で終わる文字列
    }else if((3)の評価){
        // "abc"という文字列
    }
    
[/code]

一方、箇条書きの場合はすべての括弧内の処理が実行されます。

[code]

    if((1)の評価){
        // "a"で始まる文字列
    }
    if((2)の評価){
        // "c"で終わる文字列
    }
    if((3)の評価){
        // "abc"という文字列
    }
    
[/code]

