その条件ごとで処理を変えたいことがあります。
例えば、
右の宝箱を開けると「ブレイブブレイド」がもらえる。
左の宝箱を開けると「チキンナイフ」がもらえる。
みたいな時です。
(やっぱりFF5。因みにsirocoはチキンナイフ派)
これをJavaで書くと次のような感じ。
if (右の宝箱を選択) { // ブレイブブレイドを入手 } else { // チキンナイフを入手 }簡単な英語が分かれば理解できると思いますが、
if を使用して条件文を表すことができます。
if のあとの括弧内に条件をいれ、それが真の時に { } 内の処理を実行します。
else はif の条件を満たさない場合を意味し、else以降の { } 内の処理を実行します。
では次の条件をif 文で書いてみます。
『変数num が0ならば、変数str に"ぜろ"を代入し、num が1ならば、str に"いち"を代入し、それ以外なら、str に"それ以外"を代入』
int num = 0; String str; if (num == 0) { str = "ぜろ"; } else if (num == 1) { str = "いち"; } else { str = "それ以外"; }else のあとに if を続けることで、条件を続けて書くことができます。
"=="は、その左の値と右の値が一致するという意味です。
(オブジェクトの場合は、左右のインスタンスが一致)
"=="など値の比較を行うものを、比較演算子と言います。
比較演算子には次の種類があります。
< | 小なり |
<= | 小なりイコール |
== | イコール |
>= | 大なりイコール |
> | 大なり |
『変数num が10より大きくて、且つ20より小さい場合は変数str に"あたり"を代入』
これをif 文で書くと、、、
int num = 12; String str; if (num > 10) { if (num < 20) { str = "あたり"; } }条件を加えてみましょう。
『それ以外の場合は、strに"はずれ"を代入』
int num = 12; String str; if (num > 10) { if (num < 20) { str = "あたり"; } else { str = "はずれ"; } } else { str = "はずれ"; }
なんだか見にくいですね。
おまけに"はずれ"を代入するところが重複しています。
これは次のように書きかえれます。
int num = 12; String str; if (10 < num && num < 20) { str = "あたり"; } else { str = "はずれ"; }すっきりしました。
ここで出てくる"&&"はANDを意味し、短絡演算子と言います。
短絡演算子は次の種類があります。
&& | 論理積(AND) |
|| | 論理和(OR) |
これでたいていの条件文は書けるんではないでしょうか。
ここで補足。
if 文の括弧の中に入る条件はboolean型です。
(真偽値、TRUEとかFALSEってやつ。ここででてきた)
つまり次のような書き方もできます。
int num = 12; String str; // boolean型の変数isHitに条件式を代入 boolean isHit = 10 < num && num < 20; if (isHit) { str = "あたり"; } else { str = "はずれ"; }
まあ、通常はこんな書き方はしないでしょうが、
メソッドの戻り値にbooleanを使用する場合なんかはありますね。
演算子の説明をしてきたので、その他の良く使う演算子も紹介します。
まずは算術演算子。
+ | 加算(足し算) |
- | 減算(引き算) |
* | 乗算(掛け算) |
/ | 除算(割り算) |
% | 余算(余り) |
int num1 = 10 / 2; // 5を代入(10÷2) int num2 = 2 + 8 / 2; // 6を代入((8÷2)+2) int num3 = (2 + 8) / 2; // 5を代入((8+2)÷2)演算順序は算数と同じですね。
(わからない人は小学校の算数を見直しましょう(笑))
あとは論理演算子。
& | 論理積(AND) |
| | 論理和(OR) |
^ | 排他的論理和(XOR) |
! | 否定(NOT) |
これはあまり使わないかもしれませんが、"!"は良く使うので覚えておいたほうがいいです。
int num = 12; String str; // boolean型の変数isHitに条件式を代入 boolean isHit = 10 < num && num < 20; // isHitでない、という意味になる // つまり10以下、もしくは20以上の場合に"あたり"を代入することとなる if (! isHit) { str = "あたり"; } else { str = "はずれ"; }
今回は以上です。
次回はオブジェクトの比較について書いてみようかな~
(最近blogばっかり書いてアプリ作りしてない気がするw)
0 件のコメント:
コメントを投稿