for文 つづき |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
えーと、
これでfor単独の説明は
終わりなんだけど。
ここまでで質問とかある? |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
もやもやしてる
んだけど。
みかんが・・・ |
|
|
|
|
うほーい |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
はいっ!
カウンターの
0での初期化
のことですね! |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
分かって
くれてたの。。。 |
 |
|
 |
正解だろー |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
うん・・・。
だって、
カウントを1から始めれば
わざわざ表示の補正なんか
しなくていいでしょ?
0から回数数えるのもなんか変だし。
int i = 1;i
<= 1000;i++
でもいっしょだよね?
1~1000で1000回になるし、
これならみかんいらないよ。
やっぱり変えちゃだめ? |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
0から始めるの
逆に使いにくい
ような気が
するんだけどな・・・。 |
|
疑問は
分かるよ。
いろいろな
書き方が
できるからね。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
確かに、それでも
いいんだけどね。
でも、当面は
i = 0;i
< 1000;i++
の形にすること。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
実は、プログラムは
0から始める処理が多いんだよ。
それも一個づつ順番に最大値まで
処理することが圧倒的に多い。
もちろんゲームもね。
その時カウンター変数を使って
0から番号順に処理をするんだよ。
だから、まずこの形を覚えておいた方が
都合がいいんだ。
これからいろいろ見ることになるから
今は我慢して「そーなんだ」にしてくれ。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
これも
慣れね。 |
|
初期値0で
「未満」の条件ね。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
はいっ。
i = 0;i < 実行回数;i++
まずはこれで慣れるね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
for文の命令文
for |
実行する条件(実行回数)を指定する |
break |
処理を打ち切る |
continue |
命令以降の処理をキャンセルして
ループを続行する |
|
|
for-each
(拡張for文) |
配列やコレクションを操作するのに
便利なfor文拡張 |
必要に応じて組み合わせて使う |
|
|
 |
|
 |
|
|
|
|
|
|
|
 |
|
|
|
|
 |
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
次に、for文に
break文とcontinue文を
組み合わせてみよう。
for文はこの2つを
合わせて使うことで
いろいろな複雑な処理
ができる。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
|
|
|
|
 |
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
break文って、
switch文のところで
見たよね?
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
そっ、あれのこと。
break文やcontinue文は
for文や、これからやる
while文にも使える。
使い方や
動作を覚えておこう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
こっちが
for文の
本領だよ。 |
 |
|
 |
そうなんだ。。 |
|
|
「KotoTest10」
に追記ね。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
まずはbreak文からだ。
よく読みながら
例のコードを書き写してくれ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
あれ・・・?
えー、
「打ち上げに失敗」
ってなによ! |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
もー、
やだー。
|
|
|
|
 |
|
 |
|
for文の例 改変 break(KotoTest10のKNMain.java)17行目~ |
|
・・・ |
|
|
|
017 |
|
public static void
main(String[] args) { |
|
018 |
|
// TODO code
application logic here |
|
019 |
|
|
|
020 |
|
for(int
i = 0;i < 1000;i++){ |
|
021 |
|
|
|
022 |
|
//もし
i が100だったら |
|
023 |
|
if(i
== 100){ |
|
024 |
|
System.out.println("打ち上げに失敗。"
+ |
|
025 |
|
"軌道を外れました。"); |
|
026 |
|
System.out.println("ロケット計画を中断します。"); |
|
027 |
|
|
|
028 |
|
break; |
|
029 |
|
} |
|
030 |
|
|
|
031 |
|
//現在のカウントをロケットの号数に補正 |
|
032 |
|
int
num = i + 1; |
|
033 |
|
|
|
034 |
|
//ロケットを打ち上げるメッセージを表示 |
|
035 |
|
System.out.println("ロケット" +
num + |
|
036 |
|
"号機を打ち上げました。"); |
|
037 |
|
} |
|
038 |
|
|
|
039 |
|
//終了メッセージ |
|
040 |
|
System.out.println("計画完了"); |
|
041 |
|
|
|
042 |
|
} |
|
・・・ |
|
|
|
|
黄色の部分を書き写して下さい。 |
|
|
 |
|
 |
|
|
 |
|
 |
まーまー。
例だってばさ。
てへ |
 |
|
 |
もー、
いじわる
なんだから。
書き換えちゃえ。 |
|
|
|
|
 |
|
|
|
|
 |
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
概要はこんな感じ。
break実行前のループと
実行した時の流れね。
よく分かんなくて
いいからゆっくり
読んでみてね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|