1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Javaの勉強 - 10

Posted at

whileを使った処理の繰り返し

これも形で覚える。

while( 条件 ){
	// 処理内容
}

・条件を満たす間は繰り返し処理内容を実行
・条件で使える「==」とか「>」はifのときと同じ

5回処理を繰り返す場合は

int i;

i = 1;
while (i <= 5) {
	System.out.println(i);
	i++;  // ←これがないとループする
}

・「i」の初期値はwhile前に「i=1」で設定
・「i」が「5」以下のときwhile内を実行
・while内で「i++」として1回処理される毎に「i」を「1」加算
・「i」が「6」になったら、条件から外れるので終了

こんなところかな?
いつものフォーマットに↑のやつを追加して実行。

実行
pic001.JPG

それっぽく動いた。

0回繰り返し

要するにwhile内の処理を一度も実行しない。
whileより前で、条件が一致しないようにすればいい。

int i;

i = 6;
while (i <= 5) {
	System.out.println(i);
	i++;
}

実行
pic004.JPG

whileの前で「i=6」になってるからwhileの条件を満たさず
whileはスルーされる。

なぜ0回繰り返しをわざわざ試したかと言うと
次の「do-while」につながっていて。。。

do-whileを使った処理の繰り返し

whileと同じような感じなのだけど、とりえあえず
これも形で覚えてしまう。

do {
	// 処理内容
} while ( 条件 );    // ← ;を忘れがちなので気を付ける

・条件を満たす間は繰り返し処理内容を実行
・条件で使える「==」とか「>」はifのときと同じ

ここまではwhileと同じで、whileと異なるところが。

必ず一回はdo-while内の処理内容が実行される

条件を満たしていなくても、一度はdo-while内の処理を実行する。
条件を後ろに書いてるからそうなる、ってイメージしておくか。

■ do-while前で条件を満たすとき

int i;

i = 1;
do {
	System.out.println(i);
	i++;
} while (i <= 5);

実行
pic002.JPG

まぁ、whileのときと同じ結果になる。

■ do-while前で条件を満たさないとき

int i;

i = 6;
do {
	System.out.println(i);
	i++;
} while (i <= 5);

実行
pic003.JPG

なるほど、確かに一度はdo-while内の処理が実行されてる。

条件に関係なく、一度は処理を実行したいってときは
「while」ではなく「do-while」を使うってことね。

おそらくそういう処理をしたい日が来るのだと思う。

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?