【独学プログラミング】プロゲートでJava学習2-3「論理演算子」【実践動画】

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

いなお
それでは、独学でプログラマーになる講座を始めます。
今回のテーマは「論理演算子」
ねこねこ
「論理演算子」!?知らないにゃ・・・
いなお
簡単に言うと「2つ以上の条件を組み合わせる方法」ということです。
例えば、『赤くて丸いもの』をプログラムで判定したい場合、
 条件1:赤い
 条件2:丸い
となり、この2つの条件を組み合わせたいときに「論理演算子」を使うことになります。
ねこねこ
にゃるほど?なんとなく分かったような分からにゃいような・・・
いなお
大丈夫!やってることはめちゃくちゃ単純なことだから、落ち着いて学習すれば分かるよ!
ではでは、早速始めていきましょう。

動画でJavaプログラミング学習

動画を見ながら学習したい場合はこちらの動画をご覧ください。

【プロゲート実践&解説動画】独学でJavaプログラミング 2-3「論理演算子」

【プロゲート徹底解説】
独学でJavaプログラミング


それでは、いつもどおりプロゲートのスライドを見ながら学習していきます。

言ってることは単純なことばかりなので、聞き慣れない言葉が出てきても身構えずリラックスしながら見ていけば理解が早まります。

ではでは始めていきます。


前回の記事はこちら

【独学プログラミング】プロゲートでJava学習2-2「比較演算子(2)」【実践動画】

2019-06-06

独学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プログラミングの記事はこちら

【独学プログラミング】プロゲートでJava学習2-2「比較演算子(2)」【実践動画】

2019-06-06

【独学プログラミング】プロゲートでJava学習2-1「真偽値・比較演算子」【実践動画】

2019-06-05

【独学プログラミング】プロゲートでJava学習1-15「課題に挑戦しよう」【実践動画】

2019-06-04

【独学プログラミング】プロゲートでJava学習1-14「強制型変換」【実践動画】

2019-06-03

【独学プログラミング】プロゲートでJava学習1-13「自動型変換」【実践動画】

2019-05-30

【独学プログラミング】プロゲートでJava学習1-12「少数を扱おう」【実践動画】

2019-05-29

【独学プログラミング】プロゲートでJava学習1-11「変数の役割と注意点」【実践動画】

2019-05-28

【独学プログラミング】プロゲートでJava学習1-10「自己代入の省略」【実践動画】

2019-05-27

【独学プログラミング】プロゲートでJava学習1-9「自己代入」【実践動画】

2019-05-26

【独学プログラミング】プロゲートでJava学習1-8「変数の更新」【実践動画】

2019-05-26

【独学プログラミング】プロゲートでJava学習1-7「変数を使ってみよう」【実践動画】

2019-05-25

【独学プログラミング】プロゲートでJava学習1-6「変数の定義」【実践動画】

2019-05-24

【独学プログラミング】プロゲートでJava学習1-5「文字列の連結」【実践動画】

2019-05-23

【独学プログラミング】プロゲートでJava学習1-4「数値の計算」【実践動画】

2019-05-22

【独学プログラミング】プロゲートでJava学習1-3「数値」【実践動画】

2019-05-21

【独学プログラミング】プロゲートでJava学習1-2「Javaの基本・文字列」【実践動画】

2019-05-20

【独学プログラミング】プロゲートでJava学習1-1「Javaに触れてみよう」【実践動画】

2019-05-19

追伸(お願いと私の想い)

下記コメントフォームから、気軽にコメント送信してください。

この記事を読んだ感想や悩み、疑問・質問、ご指摘など、どんな小さなことでも構いません。そのコメントは、確実に他の読者様への価値提供となります!

なぜか?例えば、あなたが悩みや疑問を送信すると、私が全力で答えます。すると、あなたと同じような悩みや疑問を抱えた読者様(きっと大勢いるはず)がコメントを見ることで、悩みや疑問が解消される、もしくは解決のヒントとなり、1歩前へ進める、ということが起きます。

これは、あなたはもちろん、他の読者様にとっても嬉しいことです。間接的ではありますが、あなたが他の読者様に有益な価値提供をした。ということになります。

私は、出来る限り多くの読者様に有益な価値提供をしたいと本気で考えています。あなたがコメントすることで、他の読者様の役に立つ。この良いスパイラルが出来れば、もっとよいブログ(コミュニティ)に育つと思いますので、ぜひご協力をお願いします。(といいつつ、一言感想だけでも全然OKですよ)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください