📖

プログラミング自主学習 13日目 if-else /if -else if -else/ if-if

2023/06/15に公開

今日は、制御文において、理解がおいてつかないところがあったため、
if文とElse ifを活用したプログラムを作成した。
プライベートな内容も含めているプログラムであるため、一部のコードを乗せる。

条件文はブロック単位で

条件文をif,else,else ifなどの役割を理解することも重要だが、その役割よりはストラクチャーを単位で活用した方が良い。場合によっては、正しい結果を得られないためだ。

int a = 5


if(a%2 == 1)
System.out.println(a + "は奇数です。")

if(a%2 == 0)
System.out.println(a + "は偶数です。")

else
System.out.println(a + "は0です。")

5は奇数です。
5は0です。

5は奇数だが、0ですという結果が出た。その原因は、if文はブロック単位実行されるためだ。
if(a%2 == 1)から奇数ということを照明できたが、
下にまたifがあり、elseブロックに入り、偶数ではない限り、elseに処理され、
5が0です。という結果が出てしまった。

if - else if - else

ifをtrueではなければ、else ifを実行し、else ifもtrueでなければ、elseを実行する。
一つのケースが3つ以上のルートで分かれ、条件に会うルートに進む。
 else ifがいくら増えても一つの結果に繋がる!

if else

ifを実行するか、elseを実行するか、1つのケースに関して2つのルートで分かれる。
2つのルートの中で、条件に会うルートに進む。
結果的に一つの結果のみ結果に繋がる

if-if(if-else if, if else)

trueであれば、ifを実行する。
また、次のifがtrueであれば、ifを実行する。
 条件式ブックが二つ以上になったため、結果も二つになる。

つまり、ifの回数により、一つのケースに対して1つの結果を得るか、2つの結果を得るかが分かれる。そのため、if文はストラクチャーをしっかり把握した方が良い。

Discussion