== 論理式 == if文は条件により異なる処理を行いました。 {{attachment:koubun05.png}} 条件が成り立つときだけ直後に記述された文を実行し、 条件が成り立たないときは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ではそのような記述はできません。エラーとなります。