1日目、ラストの記事です!!
次は比較演算子!!
~より大きい
~より小さい
~と等しい
みたいな感じだそうです!!
なんか、これはいけそうやなって思った記憶があります。
<ブール変数を使って特定の処理を実行する>
tureかfalseで返すってやつですね!!
Tim先生の動画に従ってコードを書いていきます。
int x = 6;
int y = 7;
int z = 10;
うん、ここまでは楽勝です!!
boolean compare;
「compare」という名前のboolean型の変数を宣言するという感じでしょうか。
Tim先生は、当然ながら英語の変数名にされているけど、英語をちゃんと勉強してこなかった僕にとっては、最初の方は混乱しました。。。(英語の勉強にはなるけど)
型とか変数名とかなんか初めて聞く単語ばかりで、
「どれが型?」
「どれが名前?」
「この単語は何!?自由に決めていいところ??」
みたいな感じでした、、
ちなみに、compareは「比較」という意味でした。
話を戻して、Tim先生の説明を聞きながらコーディング。
boolean compare = x < y;
xがyより小さいかどうかを「ture」か「false」で返す。
⇓
ture
(実際に、xはyより小さいので)
おおー!!
これは分かる!!
<文字列の比較>
数字だけでなく、文字列も比較できるみたいです。
String x = “hello”;
String y = “hi”;
boolean compare = x != y;
Sysem.out.println(compare);
⇓
ture
(xとyは違う文字列だから正解)
ここで見慣れない比較演算子「!=」が出てきたので、調べてみました。
==
2つが等しい
!=
2つが等しくない
>
より大きい
<
より小さい
>=
以上
<=
以下
これらは、頭に叩き込んでおく必要がありそうですね!!
ちなみに、僕はいまだに「以上」と「以下」がその数字を含むのか含まないのかが
迷います。
その度にGoogle検索で、
「以上 含む」
といった具合で調べてます。
さて、そんな文字列の比較ですが、どうやら、
<
とか
>
とかで比較しようとするとエラーになるみたいです。
文字列だから大きさとかで比較できないんですね。
(当たり前か)
そして、ここからが「”?”ゾーン」に入ることになります。
Tim先生が、
「複数の演算子を組み合わせる。「終了演算子」「OR演算子」「NOT演算子」。複数の条件をまとめて、メイン条件のような1つの条件を保持する」
と言いました。
??????
ちょっと何言ってるのかわかりません、、、
とりあえず、進んでみることに!
<2つの条件を比較して返す>
★XがYより大きくて、かつ、ZがYより小さいか
→アンドを使う
これはイメージできる!!
int x = 6;
int y = 23;
int z = 10;
boolean compare = x>y && z <y ;
⇓
false
xはyより小さいので、falseですね!!
&&は、どっちも正解じゃないとtrueにならない。
めっちゃイメージできます!!
★xがyより大きい、または、zがyより小さい
OR演算子”||”の登場です。
ちなみに、この”||”は「パイプライン」と呼ぶそうです。
boolean compare = x>y || z<y;
⇓
true
zがyより小さいというのは正解なので、trueですね!!
||はどちらか正解だったらtrue。
良い感じ!!
★NOT演算子
次に登場したのは「NOT演算子」です。
この流れでチャチャっと進んでいきたいものです。
boolean compare = !(x>y || z<y);
⇓
false
うん、なんか流れ的にそんな気はしたけど、
ここでちょっと混乱が、、、
けど、Tim先生の解説を聞いているうちに分かってきました!!
「どっちも間違っていたらtrue」
みたいな感じですね!!
NOT演算子”!”は、めちゃくちゃひねくれ者ですね。
これ、どこで使うんやろ、、、
<&&と||の組み合わせ>
最後に、Tim先生はこれまで学んだ”&&”と”||”を組み合わせた例を紹介してくれました。
boolean compare = x<y && y>z || z+2 < 5 || x+7 >4;
⇓
true
条件① xがyより小さく、yがzより大きい
→true
または、
条件② z+2が5より小さい
→false
または、
条件③ x+7が4より大きい
→false
※1つでもtrueがあるので、true
この比較演算子は、比較的に理解しやすかったなと感じました!!
これで1日目は終了です!!
ではでは!!