if文 つづき |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
if文は
「もし●●なら、▲▲を実行する」
という選択型の制御文だ。
「もし勇者の経験値が1000以上なら
レベルアップする」
みたいな感じだな。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
さっき見た
概要だね。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
もし~なら
でプログラムを
作るんだ。
日本語で考えると
分かりやすいね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
「もしも、ことの体重が100キロなら
ダイエットするが失敗。」
ってな例もできるな。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
ケケケ |
 |
|
 |
もおー! |
|
|
 |
|
 |
|
if文の3つの命令
if (もし~なら) |
else if (さもなければ~なら) |
else (それ以外なら) |
必要に応じて組み合わせて使う |
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
if文は、実際には3つの命令を
組み合わせて作るんだ。
必要に応じて組み合わせて使おう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
じゃあ、
if文の命令を順番に見ていこう。
まずはif (もし~なら)だ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
おー、
その意気だ。 |
 |
|
 |
よーし、
あたしも
レベルアップ
するぞー! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
if (もし~なら)は
if文を書く時、必須の命令だ。
これを使えば、条件式の結果に
よって、処理を分岐できるんだよ。
他のif文の命令と組み合わせる
場合も、必ず一番上に来ないと
だめだ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
処理の流れはこんな感じ。
もし条件式がtrueなら
ブロックの中が実行
される。
結果がfalseの場合は
ブロックの中は処理
されないよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
ここで、
さっきやった
「条件の成立」
を使うんだね。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
そっかー |
|
|
|
|
|
|
 |
はいっ。 |
|
|
|
|
|
 |
|
|
|
|
 |
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
書き方は
「( )」に条件式を書いて
「{ }」のブロックの中に、
trueの時に実行する処理を
書くんだ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
じゃあ、
書き写した例を実行して
みよう。
まずは
変数yuushaExpを
0のままで実行してみよう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
うーん、
「処理終わり」しか表示
されないね。
0は1000以上じゃないから
条件式の結果はfalse。
ブロックは
実行されないんだ・・・。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
経験値0な。 |
 |
|
 |
レベルアップ
しないよ・・・。 |
|
|
|
 |
|
 |
|
if文の例(if)(KotoTest4のKNMain.java)17行目~ |
|
・・・ |
|
|
|
017 |
|
public static void
main(String[] args) { |
|
018 |
|
// TODO code
application logic here |
|
019 |
|
|
|
020 |
|
//変数 yuushaExpをint型で宣言。0に初期化 |
|
021 |
|
int
yuushaExp
= 0; |
←変更なし |
022 |
|
|
|
023 |
|
//もしyuushaExpが 1000以上 なら |
|
024 |
|
if(yuushaExp
>= 1000){ |
|
025 |
|
//レベルアップ!メッセージを表示 |
|
026 |
|
System.out.println("レベルアップしました!"); |
|
027 |
|
|
|
028 |
|
} |
|
029 |
|
|
|
030 |
|
System.out.println("全処理終わり"); |
|
031 |
|
} |
|
032 |
|
|
|
・・・ |
|
|
|
|
このまま実行して下さい。 |
|
|
 |
|
 |
|
|
 |
実行結果(出力ウィンドウ) |
|
|
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
じゃあ、次に
1000にして実行してみてくれ。
敵をやっつけて
経験値が1000ポイント
貯まったと想像して変えてね。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
本当だ!
レベルアップしたあ!
経験値変数が1000以上に
なったから条件式はtrue。
今度はブロックの処理が実行
されたんだー。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
想像しすぎ。 |
 |
|
 |
やったあ!
何匹倒して
1000ポイントに
なったんだろうねー。 |
|
|
|
 |
|
 |
|
if文の例(if)(KotoTest4のKNMain.java)17行目~ |
|
・・・ |
|
|
|
017 |
|
public static void
main(String[] args) { |
|
018 |
|
// TODO code
application logic here |
|
019 |
|
|
|
020 |
|
//変数 yuushaExpをint型で宣言。1000に初期化 |
|
021 |
|
int
yuushaExp
=
1000; |
|
022 |
|
|
|
023 |
|
//もしyuushaExpが 1000以上 なら |
|
024 |
|
if(yuushaExp
>= 1000){ |
|
025 |
|
//レベルアップ!メッセージを表示 |
|
026 |
|
System.out.println("レベルアップしました!"); |
|
027 |
|
|
|
028 |
|
} |
|
029 |
|
|
|
030 |
|
System.out.println("全処理終わり"); |
|
031 |
|
} |
|
032 |
|
|
|
・・・ |
|
|
|
|
黄色の部分を書き写して実行して下さい。 |
|
|
 |
|
 |
|
|
 |
実行結果(出力ウィンドウ) |
|
|
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
こうやって、
変数と、条件式を使って
処理を分岐させるんだ!
yuushaExp変数が1000で
宣言されてるから、
条件「1000以上」を満たして
処理が実行されたんだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
その通り!
例えば、敵を倒せば経験値は
増えるよな。
経験値変数の値が変われば
処理するルートが変わるんだよ。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
これで
分岐できる
んだー。 |
 |
|
 |
例では経験値を
固定で書いちゃってる
けどね。
実際は敵を倒した時に
変数の値を増やせば
いいんだよ。 |
|
|
|
 |
|
 |
|