19.0325
論理演算子(logical 'and', 'or', 'not' operators)
論理演算子(ろんりえんざんし)とは、聞きなれない言葉だと、
思いますが、名前ほどには難しくありません。
要するに、
かつ を、表すのが、And演算子 &&
または を、表すのが、Or演算子 ||
ではない を、表すのが、Not演算子 !
なのですが、
&&(かつ) というのは、
x && y
の時、
x が、true かつ y も、true の時に、x && y が、true
に、なるということです。
この、And演算子/&& では、これ以外の場合は、すべて、false になります。
では、このことを、println()関数 を使って確かめてみましょう。
こんなコードを、main()関数 に、書いてみます。
println(true && true)
println(true && false)
println(false && false)
前回も、println()関数 の、()に、Int型を、入れましたが、
Boolean型も、OKです。
というか、何でも、OKですね。
リファレンスに、
fun println(message: Any?)
とありますが、このページの先の部分で、理解できるように書くつもりですが、
Any?
と、書いてあるからです。
Any というのは、Kotlin言語 での、すべてのクラスの、継承元で、
? は、null も、ありうるということです。
Any も、null も、この先、学習します。
ちょっと脱線しましたが、先ほどのコードを実行すると、
どうなるか、少し考えてから、実行結果を、見てください。
合っていたら、理解していると思います。
違っていたら、もう一度よく読んでみましょう。
しかし、こんなコードを書いて何の役に立つのかと、
思うかもしれませんね。
それは、次回やる、if文 などで、活躍します。
例えば、
アンドロイド・スタジオ_3.3対応 && Kotlinコード
の、本であれば、買う、とか。
この場合、どちらか一つでも、条件に合わなければ、
買わない、ということになります。
それでは、今度は、
Or演算子 / ||
について、見ていきましょう。
これは、And演算子/&& よりも、
すこし、条件が甘くて、
左の値 や 式が返す値(例えば、3>5 は、falseを返します)
と、
右の値 や 式が返す値
のうち、
どちらかが、true
なら、例えば、
val x: Boolean = true
val y: Boolean = false
の時、
x || y は、true
ということです。
最後は、
Not演算子 / !
です。
これは、true/正しい、false/間違い のそれぞれを、逆転させます。
つまり、
!true は、false
になり、
!false は、true
になるということです。
ただ、気を付けることがあります。
「ではない」 からと言って、
x == !5
これは、間違いです。
これは、あまりいい例ではないかもしれません。
とにかく、
! は、true値 と、false値 のみに対して使われる
ということです。
こんな時は、
x != 5
と、すべきですね。
まとめ
And演算子:
A と/and/&& B が、true なら、true
Or演算子:
A か/or/|| Bが、true なら、true
Not演算子:
ではない/not/!true → false
ではない/not/!false → true