画像(logo)

HOME/[JAVA言語 入門]小学生でもわかるJAVA言語 目次/十一日目 繰り返し「while」命令!

広告

[JAVA言語 入門 小学生でもわかるJAVA言語]
十一日目 繰り返し「while」命令!

広告

↓2017年04月19日発売↓

カラー図解 Javaで始めるプログラミング 知識ゼロからの定番言語「超」入門 (ブルーバックス)

新品価格
¥1,080から
(2017/5/1 13:45時点)

目次へ戻る

くり返し「while」命令

今回はもう一つのくり返し命令「while」についてみていきましょう!

自由な「while」命令

/*十一日目 プログラム1*/
class Test{
	public static void main(String args[]){
		int suji = 0;

		while(suji < 5){
			System.out.print("おはよう\n");
			suji++;
		}
	}
}

■実行結果■

画像(jb_11_1)

■説明■

前回と同じ「おはよう」を5回表示するプログラムになります!

「while」命令の場合は

while(suji < 5)

と最初に条件を決めるだけで「for」命令の時にあった「初期化」と「進み方」は別の場所に書くという違いがあります。

でも書き方が違うだけでやってる事は一緒な気がしますよね!

気がしますが!「while」命令をあなどってはいけません。何気に良く使われます。というか「for」命令より使われている感じがしない事もないです。

そんなワケでよく見かける「while」命令のカタチを見てみましょう!

無限ループ系

/*十一日目 プログラム2*/
class Test{
	public static void main(String args[]){
		int suji = 0;

		while(true){
			if(suji == 100){
				System.out.print("suji = " + suji + "\n");
				System.out.print("変数「suji」が100になりました!\n");
			}
			if(suji == 200)break;
			suji++;
		}
		System.out.print("suji = " + suji + "\n");
		System.out.print("変数「suji」が200になったので終了します!\n");
	}
}

■実行結果■

画像(jb_11_2)

■説明■

while(true)

これはよく見かけます。「if」命令の時に学んだ条件が「true」・・・合っている状態です。なのでずっとくり返す無限ループになります。

ここで登場するのが「switch」命令の時に見かけた

break;

「break」命令です!{}カッコを抜ける命令ですね!

そうです。これを書くと一番近いくり返しループから途中で脱出できるのです!

「while(true)」で無限ループ→条件が達成された時に「break」命令で脱出というやり方ですね!

「while」命令だけではなく「for」命令でも同じように途中でくり返しを脱出できます。

広告

無限ループ系その2

/*十一日目 プログラム3*/
import java.util.*;

class Test{
	public static void main(String args[]){
		Scanner sc = new Scanner(System.in);
		int suji;

		while(true){
			System.out.print("■パスワード入力時の注意■\n");
			System.out.print("数字以外を入力すると\n");
			System.out.print("プログラムが暴走する危険性があります!\n");
			System.out.print("必ず数字1ケタだけを入力してください!\n\n");
			System.out.print("数字1ケタのパスワードを入力してください > ");

			suji = sc.nextInt();

			if(suji == 1)break;
			else{
				System.out.print("パスワードが違います!");
				System.out.print("やり直してください\n");
				continue;
			}
		}
		System.out.print("パスワードを受付ました!\n");
	}
}

■実行結果■

画像(jb_11_3)

■説明■

さきほどと同じく条件が達成されるまでの無限ループ系ですね!

数字1ケタのパスワードを入力してもらってパスワードが合うまで無限ループします。

プログラム中にもありますが数字以外を入れるとプログラムが暴走して無限ループに入る可能性があるので気をつけてください!

そして注目すべきは

新登場!

continue;

これは「break」命令の仲間で{}カッコの先頭に戻る命令になります。

この「continue」命令を使えばパスワードの入力のやり直しをさせる事ができますね!

フラグの切り替え

/*十一日目 プログラム4*/
class Test{
	public static void main(String args[]){
		boolean flag = true;
		int count = 0;

		while(flag){
			if(count == 100){
				flag = false;
			}
			count++;
		}

		System.out.print("カウントが100になったので\n");
		System.out.print("フラグを切り替え終了します!\n");
	}
}

■実行結果■

画像(jb_11_4)

■説明■

今度はif命令の時に学んだフラグの役目をする変数を用意して、「while」命令の条件に当てはめ切り替える事によって「while」命令を脱出しております。

「do〜while」命令

最後に「while」命令の仲間である「do〜while」命令をご紹介します。

これは「while」の部分の条件が合っても、合わなくても必ず一度は中身の命令が実行されるという命令になります。

プログラムで確認してみましょう!

/*十一日目 プログラム5*/
class Test{
	public static void main(String args[]){
		int suji = 100;

		do{

			System.out.print("必ず一回は実行されます!\n");

		}while(suji < 50);
	}
}

■実行結果■

画像(jb_11_5)

■説明■

使い方は最初に

do

と書いて{}カッコ内に実行する内容を書きます。そしてお尻に

while(suji < 50);

条件を書きます。最初に変数「suji」には「100」が入ったので条件が合わなくても最初の一回が実行されているのがわかりますね!

「while」命令、「do〜while」命令はいろいろなプログラムを組まないと「for」命令との違いやどこで使うのかイマイチわかりづらいと思います。

でもそのウチなんとなくわかってくると思いますので今は軽く心にとめておきましょう!

次回

十二日目 配列(はいれつ)!

□ページの先頭へ□

□目次へ戻る□

□HOME□

広告

↓2016年06月25日発売↓

新・明解Java入門 (明解シリーズ)

新品価格
¥2,916から
(2017/5/1 13:47時点)

↓2017年04月18日発売↓

Java本格入門 ~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで

新品価格
¥3,218から
(2017/5/1 13:50時点)

↓2017年05月17日発売↓

新・明解 Javaで学ぶアルゴリズムとデータ構造 (明解シリーズ)

新品価格
¥2,592から
(2017/5/1 13:54時点)

↓2017年04月04日発売↓

Java 第2版 入門編 ゼロからはじめるプログラミング (プログラミング学習シリーズ)

新品価格
¥2,030から
(2017/5/1 13:55時点)