Javaの基礎文法 while文(3-5)

記事上広告

Javaの代表的な反復処理にはfor文とwhile文があります。
反復処理はループ処理とも表現されます。

今回はループ処理の一つであるwhileの文法や特徴について解説します。

反復処理はプログラム(計画)を組むときに同じような処理が繰り返されるときに利用します。

forもwhileも基本的に条件を元に繰り返し(以下、ループ)を行います。

whileの文法

whileはforと違い、カウンタ変数などを文法上作成する必要がありません。文法上では条件を記述するだけで反復処理を行うことができます。

whileは条件に合致する(true)の時に反復処理を行います。

処理はwhileブロックである{}内に記述します。
ブロックを記述しない方法もあり、その際は1行のみがwhileの適用範囲になります。

whileの文法
(ブロック記述)
while( 条件 ){

繰り返したい処理 ;

}

記述例 int count = 1;

while(count <= 100){

System.out.println(count);

count++;

}

whileの文法 while( 条件 ) 繰り返したい処理 ;
記述例 int count = 1;

while(count <= 100 )

System.out.println(count++);

記述例の補足

記述例はcountが100になるまでループを行うプログラミングとなっています。今回の例ではforと同じようにカウンタ変数のような変数を設けていますが、必ずしもカウンタ変数と同じような変数を設ける必要はありません。

forとwhileの違いは覚えたばかりの時は意識しなくてもかまいませんが、プログラムに慣れてきたら意識して使い分けるようにしましょう。

このサイトではforとwhileの使い分けは練習問題の中で慣れてもらう形をとっています。

while文 サンプルプログラム

以下のプログラムを「Number17.java」という名前でworkフォルダ内に保存します。
保存が完了したら、コマンドプロンプトを起動し、コンパイルおよび実行を行ってみましょう。

実行例

c:\work>javac Number17.java

C:\work>java Number17
8×1=8
8×2=16
8×3=24
8×4=32
8×5=40
8×6=48
8×7=56
8×8=64
8×9=72

※実行例はコンパイルから実行までの例を表示しています。

Number17.javaの補足説明

以下は「Number17.java」のfor文

int count = 1;

while(count < 10){

System.out.println(8 + “x” + count + “=” + (count * 8));

count++;

}

whileを記述する前に変数countを1で初期化します。

whileは条件を確認して「count(1) < 10」となる為、繰り返しの処理が行われます。

以下は表示処理の部分の詳細です。(表示をクリックすると詳細説明が表示されます)

詳細説明
countは1となっており、countを1に置き換えると「8 + “x” + 1 + “=” + (1 * 8)」となります。
まず、掛け算から先に行われ、以下のような結果になります。
「8 + “x” + 1 + “=” + (1 * 8)」→「8 + “x” + 1 + “=” + 8」
次に、残りは+演算子しかない為、左から実行され文字列連結が行われます。
“8x” + 1 + “=” + 8」→「“8×1”+ “=” + 8」
さらに+演算子で文字列連結が行われます。
“8×1”+ “=” + 8」→「“8×1=” + 8」
最後も+演算子で文字列連結が行われます。
“8×1=” + 8」→「“8×1=8”

表示処理の次にcount++が実行され、「countがインクリメントされ2」に増えます。

再度、条件を確認して「count(2) < 10」となり、繰り返しの処理が行われます。

繰り返す処理→条件…という順番でcountが10になるまでループが行われます。
(条件が「count(10) < 10」になった段階でfalseとなりループ終了)

while文 復習問題

問題
  • whileは○処理に利用される構文である。○に入る語句を選んでください。
  • whileの条件に記述する演算として適切なものを選んでください。
  • 数字を増やしていき10まで表示したい。次のプログラムの□に入る記述を選んでください。
    while( □ ) System.out.println(i++);
  • 数字を減らしていき1まで表示したい。次のプログラムの□に入る記述を選んでください。
    while( □ ) System.out.println(i--);
  • お疲れ様でした。
解答群
    1. 分岐
    2. 順次
    3. 逐次
    4. 反復
    1. 関係演算
    2. インクリメント演算
    3. 算術演算
    4. デクリメント演算
    1. i < 10
    2. i < 11
    3. i <= 9
    4. i <= 11
    1. i > 10
    2. i >= 11
    3. i > 0
    4. i >= 0

まとめ

  • whileは条件に合致する限り反復処理を行う
  • forのようなカウンタ変数は必ず作成する必要はない
参加 ブログランキング

記事頑張って書いたかもねー?と思う方は下を押してもらえるといいかなーなんて
にほんブログ村 IT技術ブログへ
にほんブログ村


Javaランキング

目次へのアクセス
スポンサーリンク
レクタングル

シェアする

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

フォローする

スポンサーリンク
レクタングル