論理式
if文は条件により異なる処理を行いました。
条件が成り立つときだけ直後に記述された文を実行し、 条件が成り立たないときはelseの後に記述された文(があればそれ)を実行します。
この条件に対応する部分に記述する式が論理式です。
for文、while文などでも同様に、条件を記述するところがあります。
論理値
論理式は真(true)か偽(false)かのいずれかの値をとります。 これを論理値といいます。 真偽値とも言う。
if文などで条件を記述する部分は、 (正式には)値が論理値となる式を記述します。
論理式の値は論理値です。
比較
数値の大小の比較、等しいかどうかの比較などの結果は 真(true)か偽(false)かのいずれかの値となります。
比較の結果は論理値となるので、比較は条件として記述できます。
論理演算
~かつ~、~または~、~でない のような意味の条件もあります。
これは論理演算に対応します。a,bが論理式のとき
a && b
- a と b の両方がtrueのときtrue、そうでないときfalse
a || b
- a と b の少なくとも一方がtrueのときtrue、そうでないときfalse
- !a
- a がtrueのときfalse、falseのときtrue
boolean
基本データ型としてbooleanがあり、これは論理値(真偽値)を表します。
boolean型の変数を使うと論理値を記憶したり利用したりできます。
boolean p, q; p = true; q = x > 100.0; // x にはdoubleの値が入っているものとする while (q) { ... q = false; }
Cとの違い
Cでは条件の部分に整数値を書くことができ、 値が0のときfalse、それ以外のときtrueと解釈されました。
Javaではそのような記述はできません。エラーとなります。