Androidアプリは、Java言語を用いて開発できます。
ということでJavaの勉強をしながら開発しています。
JavaとAndroidアプリ開発の書籍を2冊読み、ようやく面白くなってきた所なのでJava初心者です。
Javaに限りませんが、条件付きループ処理を行う際、while文もしくはfor文を使います。
while文とfor文って違いは何?
こんな疑問がわきます。
細かいですが、その違いをまとめます。
while文
while文の書き方は
while (繰り返しの条件) { 処理; }
処理の流れは、
1.繰り返しの条件を満たしているかどうかチェック。
2.繰り返しの条件を満たしていれば処理を実行後、1に戻る。条件を満たしてなければwhile文を終了。
では例文。
public class SampleLoop extends MyFrame { public void run() { int x=10; while (x<=150) { fillRect(x, 10, 10, 100); x+=20; } } }
fillRectは括弧の4つの引数(横座標,縦座標,幅,高さ)で塗りつぶした四角形を描くメソッドです。
int型の変数xに10を代入して、xが150以下の条件を満たせば四角形を描きます。
最後にxの値を20増やして条件を満たす間は四角形を書き続けます。
while文はxの値を更新する
x+=20;
を繰り返しの最後に書かなければならないので、値更新を書き忘れると繰り返し処理が終了しない無限ループ状態になってしまいます。
for文
for文の書き方は
for (初期設定 ; 条件 ; 値更新) { 処理; }
処理の流れは、
1.初期設定を実行。
2.繰り返しの条件を満たしていれば処理を実行。条件を満たしてなければwhile文を終了。
3.値更新を実行して2に戻る。
では例文。
public class SampleLoop extends MyFrame { public void run() { for (int x=10 ; x<=150 ; x+=20) { fillRect(x, 10, 10, 100); } } }
for文は(初期設定 ; 条件 ; 値更新)を3つ組で処理の前に書くので、書き忘れることはほぼ無いでしょう。
つまり、for文はwhile文と違って無限ループ状態になる危険を回避することができますね。