条件式を満足するかしないかで、別の処理を行ないたい場合に、if文を用いる。
if (条件式1) { 処理1; } else if (条件式2) { 処理2; } else if (条件式3) { ... } else if (条件式n) { 処理n } else { それ以外の処理; }
のように用いる。このとき、条件式に用いられる演算子に比較演算子や論理積、論理和演算子がある。
演算 | 演算子 | 意味 | 例 | 演算の順位 |
比較 | > | greater than | if (a > b) {...} //aがbより大きいなら...を実行する | 3 |
>= | greater than or equal to | if (a >= b) {...} //aがb以上なら...を実行する | ||
< | less than | if(a < b) {...} //aがbより小さいなら...を実行する | ||
<= | less than or equal to | if (a <= b) {...} //aがb以下なら...を実行する | ||
== | equal to | if (a == b) {...} //aがbと等しいなら...を実行する | 4 | |
!= | not equal to | if (a != b) {...} //aがbと等しくないなら...を実行する | ||
論理積 | && | and | if (a == b && b == c) {...} //aとbが等しく、かつ,bとcが等しいなら...を実行するす | 5 |
論理和 | || | or | if (a == b || b == c) {...} //aとbが等しいか、あるいは、bとcが等しいなら...を実行する | 6 |
(注意1) 演算の順位を変えたい場合は、"()"で括る。
例1) aが1より大きく、かつ、5以下ならば、aをbに代入する。aが5より大きく、10以下ならば、aをcに代入する。そうでないならば、aに0を代入する。
if (a > 1 && a <= 5) { // aが1より大きく、かつ、5以下ならば、 b = a; // aをbに代入する。 } else if (a > 5 && a <= 10) { // aが5より大きく、10以下ならば、 c = a; // aをcに代入する。 } else { // そうでないならば、 a = 0; // aに0を代入する。 }
例2) a が1以上か、あるいは、-1より小さく、かつ、bが2より大きいなら、
× a >= 1 || a < -1 && b > 2 ○ (a >= 1 || a < -1) && b > 2
例3) 比較演算子、論理演算子の結果は、論理型変数に代入することができる.
bool isTrue; isTrue = (a >= 1 || a < -1) && b > 2;
演算子の順位に注意すること.
整数値の値によって,別の処理を行ないたい場合に,switch文を用いる。
switch (整数値) { case 定数式1: 処理1; break; case 定数式2: 処理2; break; ... default: デフォルト処理; }
のように用いる。式の値が、どれかの定数式に一致した場合、その処理を行なう。breakは処理が終わったら、switchブロックから抜けるために必要。
例) aが10ならaに1を加え、aが20ならaに2を加え、それ以外の値であれば、aに0を代入する。
switch (a) { case 10: // aが10ならば、 a = a + 1; //aに1を加える。 break; case 20: // aが20ならば、 a = a + 2; // aに2を加える。 break; default: // aがそれ以外のの値であれば、 a = 0; // aに0を代入する。 break; }