📖
プログラミング自主学習 13日目 if-else /if -else if -else/ if-if
今日は、制御文において、理解がおいてつかないところがあったため、
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