Bool型とは
Bool型とは真理値のことで、ある命題が真であるか偽であるかを表す値です。
つまり、式が型推論されない場合はBool型の値であるtrueかfalseを返します。
let a = true // Bool型
let b = false // Bool型
let c: Bool
c = 10 == 10 // true
論理演算
論理演算とは真理値に対する演算になります。
Bool型には、否定・論理積・論理和の3つの論理演算子が用意されています。
論理演算をうまく使うことにより様々な条件式を記載することが可能です。
・ 否定
否定は、真理値を逆にする論理演算です。
Bool型の値の否定を求めるには、!演算子を利用します。
否定したい変数や定数に!をつけることにより、逆の真理値を導くことが可能になります。
let a = true // true
let b = !a // false
・ 論理積
論理積とは、与えられた複数の真理値全てが真であれば真となる論理演算子です。
2つ以上の真理値の論理積を求める場合には&&を使用します。
&& は、〜かつ〜 の、かつの部分だと思ってください。
true && true の場合は全ての真理値が true なので結果も true になります。
しかし、true && false の場合は全ての真理値が true ではないので結果は false になります。
国語のテストで、点数が50点を超えているかどうか調べる際に論理積を使うとこうなります。
たろう:100点、あやか:60点、まこと:10点の場合。
let tarou = 100 // たろうは100点
let ayaka = 60 // あやかは60点
let makoto = 10 // まことは10点
var result: Bool // Bool型
//たろうの点数が50点以上 &&(かつ) あやかの点数が50点以上 -> true && true
result = tarou >= 50 && ayaka >= 50 // true
//太郎の点数が50点以上 &&(かつ) まことの点数が50点以上 -> true && false
result = tarou >= 50 && makoto >= 50 //false
//三人のテストの結果が50点以上 -> true && true && false
result = tarou >= 50 && ayaka >= 50 && makoto >= 50 //false
少しわかりにくいですかね・・・?(笑)
とにかく論理積を使っていた場合、
一つでもfalseが存在したら結果はfalseになるということです!
・ 論理和
論理和とは、与えられた真理値の少なくともどれか一つが真であれば、結果も真となる論理演算です。
2つ以上の真理値の論理積を求める場合には||を使用します。
|| は、〜または〜 の、またはの部分だと思ってください。
true || true の場合は、どちらもtrueなので、結果はtrueになります。
true || false の場合は、片方がtrueなので、結果はtrueになります。
false || false の場合は、両方ともfalseでtrueが存在しないので、結果はfalseになります。
先ほどの例を使うとこのようになります。
let tarou = 100 // たろうは100点
let ayaka = 60 // あやかは60点
let makoto = 10 // まことは10点
var result: Bool // Bool型
//たろうの点数が50点以上 ||(または) あやかの点数が50点以上 -> true || true
result = tarou >= 50 || ayaka >= 50 // true
//太郎の点数が50点以上 ||(または) まことの点数が50点以上 -> true || false
result = tarou >= 50 || makoto >= 50 //true
//三人のテストの結果が50点以上 -> true || true || false
result = tarou >= 50 || ayaka >= 50 || makoto >= 50 //true
論理和の場合は、どれか一つでもtrueが入っていれば結果はtrueになるということです!
Bool型は最初のうちはよくわかりませんでしたが、
使っていく内に結構慣れていきました!
分からなくても色々試して調べて使えるようにしていきましょう!
以上、ありがとうございました。