else ifをifに変えても、表示結果に変化はありません(試してみましょう)。

ただし、動作としては両者には明確な違いがあります。

  • else ifの場合は、その前に存在するif文でfalseに判定されなければ、こちらのif文は判定自体されない
  • ifの場合は、その都度if文が判定される。

Sample5C.javaは、以下のように書き換えることができます。つまり、if〜else if文は、以下のような書き方を省略した書き方にしている、とも言えます。

変数iの値に1、5、9、10、11を入れると以下のように表示されることになります。
i = 1 =>
「iの値は10ではありません」

i = 5 =>
「iの値は10ではありません」

i = 9 =>
「iの値は10ではありません」

i = 10 =>
「iの値は10です」

i = 11 =>
「iの値は10ではありません」

サンプルプログラムSample5bは1つのif文が含まれていて、その条件は「変数iの値は10に等しいか?」というものです。よって、iに10とそれ以外の値の2つを与えれば、全ての可能性を網羅することになります。

Sample5a.javaに変更を加えたものは以下のようになります。

実行結果は、最初に変数 i に代入する値を10にした場合、つまり上記のプログラムの通りでは、

となります。

一方、最初に変数 i に代入する値を20にした場合、つまり下記のプログラムのようにした場合、

以下の実行結果となります。

なお、プログラムを変更してから、再度実行させるときに、結果が変わらない場合があります。
その場合は、「実行」メニューの「プロジェクトを消去してからビルド」を実施してください。