『未経験からプロへ』
独学でプログラマーになる講座



例えば、『赤くて丸いもの』をプログラムで判定したい場合、
条件1:赤い
条件2:丸い
となり、この2つの条件を組み合わせたいときに「論理演算子」を使うことになります。


ではでは、早速始めていきましょう。
動画でJavaプログラミング学習
動画を見ながら学習したい場合はこちらの動画をご覧ください。
【プロゲート実践&解説動画】独学でJavaプログラミング 2-3「論理演算子」
【プロゲート徹底解説】
独学でJavaプログラミング
それでは、いつもどおりプロゲートのスライドを見ながら学習していきます。
言ってることは単純なことばかりなので、聞き慣れない言葉が出てきても身構えずリラックスしながら見ていけば理解が早まります。
ではでは始めていきます。
前回の記事はこちら
独学Javaプログラミング 2-3「論理演算子」

『かつ』
論理演算子とは、2つ以上の条件を組み合わせる方法です。
その1つ目の方法が ”かつ” です。よく ”and条件” なんて言われたりもします。(プログラムでは ”&&” と書きます)
例えば、「赤色で丸いもの」という条件は、
「赤いもの かつ 丸いもの」と言い換えることができます。
(「赤いもの and 丸いもの」とも言います)
そして、
りんご → ○(赤くて丸いからOK)
ポスト → ×(赤いけど四角いのでダメ)
みかん → ×(丸いけど赤くないのでダメ)
となります。
このように、2つの条件を組み合わせるときに使うのが「論理演算子」ですが、その中でも ”かつ” は「両方の条件を満たすかどうか」を調べるときに使います。
では次の画像を見てみましょう。

「x > 10 && x < 30」
→ 「xが 10 より大きい かつ xが 30 より小さい」
この2つの条件を ”&&(かつ)” で組み合わせた結果を図で表しています。
「両方の条件を満たしている部分 → true」
「それ以外の部分 → false 」
図で見ると分かりやすいですね!
では次の画像を見てみましょう。

先ほどと同じ条件で、x の値がそれぞれ 5, 20, 35 の3パターンで結果がどうなるかを表しています。
結果は、両方の条件を満たす 20 の場合だけ true となります。
5, 35 の場合はどちらか片方の条件を満たしていないため false となります。
このように、条件を1つずつ見ていけば単純な比較だということが分かります。
2つの条件を一気に考えるのではなく、1つずつ見ていけばOKです。
では次のスライド

『または』
「論理演算子」とは、2つの条件の組み合わせ方法でした。
その2つ目の方法が ”または” です。よく ”or条件” なんて言われたりもします。(プログラムでは ”||” と書きます)
例えば、「赤色か黄色いもの」という条件は、
「赤いもの または 黄色いもの」と言い換えることができます。
(「赤いもの or 黄色いもの」とも言います)
そして、
りんご → ○(赤色なのでOK)
ポスト → ○(赤色なのでOK)
みかん → ×(オレンジ色なのでダメ)
レモン → ○(黄色なのでOK)
となります。
このように、2つの条件を組み合わせるときに使うのが「論理演算子」ですが、その中でも ”または” は「どちらか1つの条件を満たすかどうか」を調べるときに使います。
では次の画像を見てみましょう。

「x < 10 || x > 30」
→ 「xが 10 より小さい または xが 30 より大きい」
この2つの条件を ”||(または)” で組み合わせた結果を図で表しています。
「どちらか1つの条件を満たしている部分 → true」
「それ以外の部分 → false 」
こちらも図で見ると分かりやすいですね!
では次の画像を見てみましょう。

先ほどと同じ条件で、x の値がそれぞれ 5, 20, 35 の3パターンで結果がどうなるかを表しています。
結果は、どちらか1つの条件を満たす 5, 35 の場合が true となります。
20 の場合はどちらの条件も満たしていないため false となります。
”かつ” のときと同じように、こちらも条件を1つずつ見ていけば単純な比較だということが分かります。
ですので、こちらも2つの条件を一気に考えるのではなく、1つずつ見ていけばOKです。
では次のスライド

『〜でない』
これは「論理演算子」の中でも特殊なものです。
”〜でない” というように、否定(反対)を表す意味となります。(プログラムでは ”!” と書きます)
例えば、
「赤色のもの」という条件があったとして、このように使います。
!(赤色のもの)
こうすると、
りんご → ×(赤色なのでダメ)
みかん → ○(赤色ではないのでOK)
レモン → ○(赤色ではないのでOK)
このように、「赤色のもの」の反対の意味(「赤色ではないもの」)となります。
つまり、条件に ”!” をつけると「その条件の反対の意味になる」と覚えておきましょう。
では次の図を見てみましょう。

図のとおり、”!” をつけるとまったく反対の結果になることが分かります。
ちなみに、間違えやすいポイントとして「〜以上」「より大きい」があります。
この図の場合、
「x >= 30」 → 「x が 30以上」なので 30を含む
「!(x >= 30)」 → 「x が 30以上」の反対 → 「x が 30未満(より小さい)」なので 30を含まない
となることに注意しましょう。
では次の画像を見てみましょう。

x が 20 のときに「それぞれの結果がどうなるか」を表しています。
これは簡単ですね!
では次のスライド

『論理演算子のまとめ』
論理演算子には大きく2つのパターンと1つの特殊パターンがあります。
”&&(かつ)”
2つ以上の条件を組み合わせるときに使います。すべての条件を満たす場合のみ結果が true となります。(逆に言うと、どれか1つでも条件を満たさない場合は false となります。
”||(または)”
2つ以上の条件を組み合わせるときに使います。どれか1つの条件を満たす場合に結果が true となります。(逆に言うと、すべての条件を満たさない場合は false となります。)
”!(〜でない)” ※特殊パターン
条件を否定(反対)を表すときに使います。条件の前に ”!” をつけると、その条件の反対の意味になります。
では次の画像を見てみましょう。

”&&(かつ)” と ”||(または)” のパターンが紹介されています。
1行目は”&&(かつ)”のサンプルで、片方が false なので結果は false となります。
2行目は”||(または)”のサンプルで、片方が true なので結果は true となります。
では今回の演習問題を見てみましょう。

こんな感じです。
すべて単純な条件の組み合わせなので、ひとつずつ順番に考えていけば簡単ですね!
では今回のヒントを見て復習しましょう。


まとめ
ということで今回は、2つ以上の条件を組み合わせる方法を学びました!
2つ以上の条件が並んでいると、パッと見たときは難しいように見えますが、1つずつ見ていけば単純な条件の組み合わせであることが分かります。
すべてを一気に捉えるのではなく、まずは1つずつの条件に分解して考えるようにすると理解しやすいでしょう。
ほかのJavaプログラミングの記事はこちら
今回のテーマは「論理演算子」