質問: if文の場合分け時にelse ifをよく使うのを見ますが、偶にifの箇条書きのように場合分けをしているのを見ました。 ``` if(){ }else if(){ }else if(){ } ``` と ``` if(){} if(){} if(){} ``` の違いはどのようなものでしょうか。
回答: 用途に応じて使い分ける必要があると思います。 `else if`の方は3つの波括弧のうちいずれかしか処理されません。 箇条書きの方は3つ全ての波括弧の中が処理される可能性があります。 簡単な例を挙げると "abc"という文字列を、 * (1)先頭が"a"で始まる * (2)最後が"c"で終わる * (3)"abc"という文字列である の3パターンで評価する場合 `else if`では以下の場合は(1)の評価の括弧内の処理しか実行されません。 ``` if((1)の評価){ // "a"で始まる文字列 }else if((2)の評価){ // "c"で終わる文字列 }else if((3)の評価){ // "abc"という文字列 } ``` 一方、箇条書きの場合はすべての括弧内の処理が実行されます。 ``` if((1)の評価){ // "a"で始まる文字列 } if((2)の評価){ // "c"で終わる文字列 } if((3)の評価){ // "abc"という文字列 } ```