分岐では条件が必要になります。「○○だったら~」の○○の部分ですね。
その条件はプログラミングでは多くの場合条件式というもので表します。
条件式とはどのようなものでしょうか。わかりやすく解説します!
前回のJava入門記事はこちら!
分岐の説明についてはこちらの記事をご覧になってください!
「もし雨が降っていたら○○する」の「雨が降っていたら」の部分が条件ってことだよね?
そう!それをプログラミングでは条件式というもので表現するんだ。
条件式とは
条件式とは値や式同士を比べたりする式です!その結果はtrueかfalseを返します。
その式が正しければtrue、満たさなければfalseを結果とします。
条件式の結果はtrueかfalseのどっちかなんだね!
条件式の使い方の例
例えば下のような分岐の文を書いたとしてみよう。
この分岐の構文であるif文は今はこんなものだなと思ってもらって構わないよ。
boolean wakapro = true;
if(wakapro == true){
System.out.println("わかプロ!");
}
ifという分の後ろに丸かっこがあります。そこに入っているのが条件式になります。
条件式の結果はtrueかfalseを返します。
「==」は左右が等しければtrueを、等しくなければfalseを返します。簡単にいうと左右の値が同じかそうでないかを判定しているんですね。ちなみに同じかどうかを比較する場合イコールは2つなので注意してください。ひとつだと代入の意味(代入演算子)となってしまいます。
ここでは左側の値の「wakapro」という変数にはtrueが入っています。そして右側にはそのままtrueが入っています。つまり両方trueなので等しいですよ、と判定してくれるんですね。
左右が同じなので、この条件式の結果はtrueです。
条件式というのは処理の分岐や繰り返しの条件を表現しているんですね。
この場合は「左右の値が同じだったら~」と比較しているんだね!
様々な関係演算子
「==」のように左右の値を比べる記号を関係演算子といいます!
関係演算子には以下のようなものがあります。
演算子 | どんな意味? |
== | 左と右が等しい |
!= | 左と右が異なる |
> | 左が右より大きい |
>= | 左が右より等しいか大きい |
< | 右が左より大きい |
<= | 右が左より等しいか大きい |
うえ~、「!=」は左右の値が違うときtrueになるんだ。ややこしい~。
例えば、「5>3」とあればこの条件式は正しいです。なぜなら左の方が右の値より等しいからです。なのでtrueを返します。
注意!文字列比較に「==」は使わないようにしよう
じゃあ文字列も「”kyouka” == “kyouka”」みたく比べるんだね!
そこには注意が必要なんだ。
文字列同士を比較するときは以下のようにしましょう。
("kyouka").equals("kyouka")
これはStringクラスのequalsメソッドというものを使って比較をしています。理由は「==」は参照しているものが同じ、「equalsメソッド」は内容が同じかを比べるためです。
今は内容や理屈は置いといてこうやって比較するものだと思ってください。このように比較しないと正確に比べられないのです。
Javaって難しくて挫折しそう…。
この本はわかりやすい言葉で説明されているから、これで学ぶのもいいと思う!体系的に学ぶのは大事だからね!
論理演算子とは -ANDとOR-
複数の条件も組み合わせることができるよ。ANDとORはわかるかな?
数学で聞いたことがあるようなないような…。
複数の条件を組み合わせるには論理演算子というものを使います!
記号 | どんな意味? |
&& | AND(○○かつ△△)、左右が両方ともtrueならtrue、それ以外はfalse |
|| | OR(○○または△△)、左右のどちらかまたは両方がtrueならtrue、それ以外はfalse |
AND(アンド)は「○○かつ△△」というものですね。左も右も正しかったら正、そうでなければ偽です。
わかりやすく言うと左右がtrueなら全体もtrueということです。それ以外はfalseになります。
例えば以下のような条件式があるとします。
(6 >= 6) && (4 < 5)
この条件式はtrueを返します。左の「6 >= 6」は正しいのでtrue、右の「4 < 5」も正しいのでtrue、結果ANDの両側がtrueなので全体もtrueとなります。
OR(オア)は「○○または△△」です。片方でもtrueなら全体もtrueになります。
例えてみましょう。
(7 == 6) || (8 > 5)
この条件式の場合もtrueを返します。左の「7 == 6」は正しくないのでfalseを返します。右の「8 > 5」は正しいのでtrueを返します。片方がtrueですので全体もtrueとなります。
条件をいっぱい組み合わせたら頭こんがらがりそう…。
プログラミングではかならずしも条件式を全てひとつにまとめなければならない、ということではないから最初は少しずつ使えるようになるといいよ!
否定演算子とは
「!」(エクスクラメーションマーク)を頭につけることで結果を逆転させることができます!つまりtrueの結果はfalseになり、falseの結果はtrueになります。
この演算子を否定演算子といいます!
!(10 > 4)
この条件式はfalseを返します。「10>4」はtrueですが、否定演算子によりtrue→falseになります。
条件式の前に否定演算子がついたら結果が変わるんだね!
正しいか間違っているかを判定するものが条件式!
条件式は数学で出た記号や意味に通ずるものがあるから、覚えやすいかもしれないね。
数学はよくわからん!
…。
次回のJava入門記事はこちら!
コメント