do-whileループ Javaプログラミング初心者の記録vol.21

スポンサーリンク
do-whileループ タイトル画像 Java攻略

これまでforwhileのループについて見てきた。
今回は3つ目の「do-while」のループについてまとめる。

スポンサーリンク

ループの基本

forやwhileのループを理解していたら大丈夫だけど、一応ここでもう一度ループの基本をおさえておく。

  • 初期値を設定する
  • プログラムを繰り返す場合の条件を設定する
  • ループの最後に行う処理を設定する(値を「1」増やすなど)

基本的に上の3つがループの基本的なもの。

「do-while」も同様に、この3つの基本を押さえていれば理解できる。

do-whileループの使い方

do-whileは以下のように使用する。

do{行うプログラム}while(ループの条件);

これまで見てきた「for」や「while」とは違って、最初に処理するプログラムを記入する。
その後でループの条件を書くから、while()内の条件に合致するかに関わらず、無条件に最初のdoの{}内のプログラムは実行される。

どういうことかというと…

 

※パッケージ、クラス、メインメソッドは省略

int A=5;

do{

A=A+5;
System.out.println(A);

}
while(A<40);

※do{}の「}」の前には「;」を忘れずに

これを実行すると

10
15
20
25
30
35
40

が表示される。

do-whileループのポイントは、while()内の条件はdo{}内のプログラムが行われた後に処理されるということ。

そしてdo{}内が処理された後に、それがwhileの条件を満たしていればもう一度do{}内のプログラムが処理される。

 

A=A+5は値の再代入というもので、まず右辺のA+5を計算したものが新たな「A(左辺)」の値になるというもの。

これについては代入演算子の「=」についての記事を参考にしてみて。
演算子-代入演算子 Vol.12 Javaプログラミング初心者の記録

これを計算してループが発生すると「5」ずつ値が増えていく式がA=A+5だから)。

 

 

だから「40」という数字は「40<A」という条件を満たしていないが、whileより先にdoのプログラムが処理されるから「40」まで表示される。

だが条件を満たしてないから次のループは起こらない。

内容を表示してから条件をチェックしてループするかどうか判断しているってことなのね。

ポイント

まとめ

whileとdo-whileは似ているからちょっと混乱しそうだけど、まったくの別物。

whileについてまとめた記事を見てもらってもわかると思うけど、whileはまず条件を確認する。
そして条件に合っていれば{}内のプログラムを処理する。
もし最初から条件に合っていなければ、画面には何も表示されない。

一方、do-whileはまずdo{}内を処理する。
これは条件に合っていようと間違っていようと関係ない。
だって条件を書いたwhile()はプログラムを処理するdo{}より後に来ているから。
だから最低一回はdo{}内の処理結果が画面に表示される。

 

同じwhileという名前がついているだけで、処理する順番が違えば別物になるのが面白い。

最初にdoってついているくらいだから、こっちが条件無視してプログラム実行(doする)って覚えるといいかも?笑

これで3種類のループを習得!

 

このエントリーをはてなブックマークに追加

コメント

タイトルとURLをコピーしました