今日は Kotlin の現場で使われているロジックを初めて見ました。
これから、実際に運用されていくソースを触ったり、既存ソースを参考に自分で組んでいくことになるので、基本的な部分をチマチマとやっていく余裕はなくなりそうです。
以前、「Kotlinの2種類の変数と型宣言の基本パターンについて」で文字列と数値の型について触れましたが、今回は真偽値を取り扱う Boolean 型について紹介します。

Boolean型の変数が保持できる値
Boolean は真偽値を取り扱うと書いた通り、以下の 2 つの値のみ保持できます。
true
false
直接、true や false を変数に代入することもできますし、真偽の結果を格納することもできます。
真偽の結果を取得
真偽の結果とは、例えば以下のようなロジックです。
1 2 3 4 5 | fun main(args: Array<String>) { val num: Int = 5 val is_ok: Boolean = (num > 3) println(is_ok) } |
num が 3 より大きい場合の判定結果を is_ok の変数に代入しています。
上記の場合は、num が 5 なので true になりますね。
また、is_ok を条件判定式で利用する場合は下記の通りです。
1 2 3 4 5 6 7 8 9 10 | fun main(args: Array<String>) { val num: Int = 5 val is_ok: Boolean = (num > 3) if (is_ok) { println("${num}は3より大きい") } else { println("${num}は3より小さい") } } |
true の場合は () の中に変数を書くだけで OK です。
詳細に書く場合は以下のように true 判定を明示的にしますが、true 判定の場合は省略するケースが多いです。
if (is_ok == true)
逆に false 判定は条件式の is_ok 変数の前に !(ビックリマーク)を付けて否定を表します。
1 2 3 4 5 6 7 8 9 10 | fun main(args: Array<String>) { val num: Int = 5 val is_ok: Boolean = (num > 3) if (!is_ok) { println("${num}は3より小さい") } else { println("${num}は3より大きい") } } |
「is_ok != true」と同様ですね。
複数条件の判定結果
ここまで、3 と 5 を比較する例を使って説明してきました。
ここでは複数の条件を使った条件判定を行ってみます。
1 2 3 4 5 6 7 8 9 10 | fun main(args: Array<String>) { val num: Int = 5 val is_ok: Boolean = (3 < num && num < 7) if (is_ok) { println("${num}は3より大きくて7より小さい") } else { println("${num}は3より小さい、または7より大きい") } } |
注目すべきは以下のロジックになります。
(3 < num && num < 7)
以下の 2 つの条件を && で結んでいます。
3 < num
num < 7
この場合は両方の条件を満たした場合に限って結果が true になります。
最低限、片方の条件を満たしている場合は || で結びます。
&& が「かつ」、|| が「または」となり、それぞれ「AND条件」「OR条件」と呼ばれたりもします。