<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>論理式</title><revhistory><revision><revnumber>11</revnumber><date>2009-10-09 11:46:37</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>10</revnumber><date>2009-10-09 11:44:36</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>9</revnumber><date>2009-10-09 11:42:48</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>8</revnumber><date>2009-10-09 11:41:53</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>7</revnumber><date>2009-10-09 11:37:23</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>6</revnumber><date>2009-10-09 11:35:08</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>5</revnumber><date>2009-10-09 11:17:25</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>4</revnumber><date>2009-10-06 12:14:18</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>3</revnumber><date>2009-10-06 12:13:29</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>2</revnumber><date>2009-10-06 12:07:20</date><authorinitials>masahiko</authorinitials></revision><revision><revnumber>1</revnumber><date>2009-10-06 11:59:38</date><authorinitials>masahiko</authorinitials></revision></revhistory></articleinfo><section><title>論理式</title><para>if文は条件により異なる処理を行いました。 </para><itemizedlist><listitem override="none"><para><inlinemediaobject><imageobject><imagedata fileref="http://ei-www.hyogo-dai.ac.jp/~masahiko/moin.cgi/%E8%AB%96%E7%90%86%E5%BC%8F?action=AttachFile&amp;do=get&amp;target=koubun05.png"/></imageobject><textobject><phrase>koubun05.png</phrase></textobject></inlinemediaobject> </para></listitem></itemizedlist><para>条件が成り立つときだけ直後に記述された文を実行し、 条件が成り立たないときはelseの後に記述された文(があればそれ)を実行します。 </para><para>この<emphasis role="strong">条件</emphasis>に対応する部分に記述する式が<emphasis role="strong">論理式</emphasis>です。 </para><para>for文、while文などでも同様に、条件を記述するところがあります。 </para><!--rule (<hr>) is not applicable to DocBook--><section><title>論理値</title><para>論理式は真(true)か偽(false)かのいずれかの値をとります。 これを論理値といいます。 真偽値とも言う。 </para><para>if文などで<emphasis role="strong">条件</emphasis>を記述する部分は、 （正式には）値が論理値となる式を記述します。 </para><para>論理式の値は論理値です。 </para><!--rule (<hr>) is not applicable to DocBook--></section><section><title>比較</title><para>数値の大小の比較、等しいかどうかの比較などの結果は 真(true)か偽(false)かのいずれかの値となります。 </para><para>比較の結果は論理値となるので、比較は条件として記述できます。 </para><!--rule (<hr>) is not applicable to DocBook--></section><section><title>論理演算</title><para>～かつ～、～または～、～でない　のような意味の条件もあります。 </para><para>これは論理演算に対応します。a,bが論理式のとき </para><itemizedlist><listitem override="none"><para>a &amp;&amp; b </para><itemizedlist><listitem override="none"><para>a と b の両方がtrueのときtrue、そうでないときfalse </para></listitem></itemizedlist></listitem><listitem override="none"><para>a || b </para><itemizedlist><listitem override="none"><para>a と b の少なくとも一方がtrueのときtrue、そうでないときfalse </para></listitem></itemizedlist></listitem><listitem override="none"><para>!a </para><itemizedlist><listitem override="none"><para>a がtrueのときfalse、falseのときtrue </para></listitem></itemizedlist></listitem></itemizedlist><!--rule (<hr>) is not applicable to DocBook--></section><section><title>boolean</title><para>基本データ型として<emphasis role="strong">boolean</emphasis>があり、これは論理値（真偽値）を表します。 </para><para>boolean型の変数を使うと論理値を記憶したり利用したりできます。 </para><itemizedlist><listitem override="none"><screen><![CDATA[ boolean p, q;
]]><![CDATA[
 p = true;
 q = x > 100.0; // x にはdoubleの値が入っているものとする
 while (q) {
     ...
     q = false;
 }]]></screen></listitem></itemizedlist><!--rule (<hr>) is not applicable to DocBook--></section><section><title>Cとの違い</title><para>Cでは条件の部分に整数値を書くことができ、 値が0のときfalse、それ以外のときtrueと解釈されました。 </para><para>Javaではそのような記述はできません。エラーとなります。 </para></section></section></article>