目次
今回は「条件文」について説明します。
条件判断を使いこなせると複雑なプログラムを記述できるようになります。
条件分岐
▶条件による処理の分岐
「もしも〇〇ならば✖✖を実行する」
if (〇〇){
✖✖ ;
}
if ( 条件式 ){
命令文 ; // 条件式が true の場合に実行される
}
条件分岐とは
私たちは常に何らかの条件に基づいて行動の選択をしています。
例えば「雨が降りそう」➡ 〇 ➡「傘を持っていく」
プログラムを記述する際もコンピューターに何らかの条件を提示して作業を実行させるということがよくあります。
if文は英語の単語そのままの意味で「もしも」の意味があります。
条件式を満たした場合にこの命令文を実行する。
逆にその条件を満たさない場合は命令文は実行されません、という流れになります。
条件分岐の例
if ( age < 20 ){
System . out . println ( ” 未成年ですね ” ) ;
}
条件式の中の age は変数です。仮に年齢とします。
< ⇐ 関係演算子といいます。なので変数 age が20未満である。という条件を満たしていれば System . out .println という出力の命令が実行されるということです。
条件分岐を整理するときはフローチャートを用いると理解しやすいです。
フローチャートで整理することによって、どのような条件のときにどのような命令を実行するのかがわかりやすくなります。
場合によっては複数の条件が重なるなど非常に複雑な条件になる場合もあります。
そのような場合はこのフローチャートが役に立ちます。
このフローチャートには書き方があります。
◇(ひし形)には条件を記述します。処理の順番は上から下へと流れるかたちになります。
そしてその条件を満たした場合はその流れからいったん外れて命令文を実行します。
命令文は□で記述されます。
その命令文を実行し終えたら、真ん中の流れに戻るというかたちになります。
したがって、条件式は1つの枝のかたちになっています。
出力結果
関係演算子
- 関係演算子をつかって2つの値を比較できる
- 比較した結果は true または false になる
演算子 | 説明 | 例 |
---|---|---|
== | 左辺と右辺が等しい | a == 1 (変数 a が1のときに true) |
!= | 左辺と右辺が等しくない | a != 1 (変数 a が1でないときに true) |
> | 左辺が右辺より大きい | a > 1 (変数 a が1より大きいときに true) |
< | 左辺が右辺より小さい | a < 1 (変数 a が1より小さいときに true) |
>= | 左辺が右辺より大きいか等しい | a >= 1 (変数 a が1以上のときに true) |
<= | 左辺が右辺より小さいか等しい | a <= 1 (変数 a が1以下のときに true) |
さきほどの例で20未満であればという条件を提示しました。
算術演算子は計算の際に記述しましたが、関係演算子は2つの値の比較の際に使用します。
比較の結果は true か folse か、〇か✖か、真か偽かのどちらかしかありません。
練習問題
次の条件を満たすときに命令文が実行されるような条件式を作成しましょう
- 変数 a の値が35である
- 変数 a の値が40である
- 変数 a の値が正である
- 変数 a の値が負である
- 変数 a の値が4の倍数である
- 変数 a の値が偶数である
- 変数 a の値を5で割った余りが2である
これらの文章を命令文にしてみましょう
関係演算子をつかって条件式を記述してみましょう
解答
- 変数 a の値が35である
a == 35
=(1つ)で記述してしまうと等しい関係ではなく代入となってしまうので注意しましょう - 変数 a の値が48である
a != 35 - 変数 a の値が正である
a > 0 - 変数 a の値が負である
a < 0 - 変数 a の値が3の倍数である
a % 3 == 0
3の倍数ということは3で割って余りが0になる(0と等しい)ということです - 変数 a の値が偶数である
a % 2 == 0
偶数は2で割ると余りが0になります - 変数 a の値を5で割った余りが2である
a % 5 == 2
%などの算術演算子に関してはこちらをご参照ください
まとめ
プログラムコードを記述する際に条件分岐は非常によく使用します。
簡単な練習問題を何度も記述して条件分岐の意味について理解しましょう。
フローチャートを利用すると頭の中が整理されやすいです。