Google検索エンジン

トップページ » Java入門編 » while(ループ文)を使用する


Javaのループ文 while - 構文と繰り返し処理の終了方法 -

  • while文について

    ほとんどのプログラミング言語では、ループ(繰り返し)文としてwhile文が存在します。 while文は、条件が真の間だけ処理の実行を繰り返すというループを記述するための文です。 while文を記述すると、所定の回数だけ処理を繰り返すプログラムを効率よく作成できます。

    while文には、「while(条件式) {処理}」と「do {処理} while(条件式);」の2つの構文が存在します。 「while(条件式) {処理}」 が前置判定(ループ前に条件式を判定)となり、「do {処理} while(条件式);」が後置判定(ループ後に条件式を判定)となります。 両者の違いは、前置判定では条件が偽であれば一度もループ内の処理を行わないの対して、後置判定では最低1回はループの内の処理が行われる点にあります。


    ループ(繰り返し)while文の処理

    処理を10回ループ(繰り返し)するwhile文を例に挙げて説明します。 以下のJavaプログラムをコンパイルして実行してみてください。

    サンプルソースコード
    class WHILE {
       public static void main(String args[]) {
    
          int i=0;
    
          // 前置判定
          while(i < 10) {
             // ループ回数により、出力されないこともある
             System.out.println( "前ループ" + i );
             i++;
          }
    
          int j=0;
    
          // 後置判定
          do {
             // ループ回数に関係なく、最低1回は出力される
             System.out.println( "後ループ" + j );
             j++;
          }while(j < 10);
       }
    }
    

    上記のJavaプログラムを実行すると、「前ループ0」〜「前ループ9」と「後ループ0」〜「後ループ9」の20行が表示されます。 「while(条件式) {処理}」と「do {処理} while(条件式);」は、同じ様にカウントできていることが分かります。 どちらも0から9までカウントできているのは、「{」と「}」の間の処理が以下の手順で繰り返されたためです。

    ・前置判定「while(条件式) {処理}」の場合
     1.条件式を判定して、条件が真ならループ処理を実行します。
     2.「i」が10未満の間、つまり「i」が0から9まで、10回処理を繰り返しています。
     3.1回処理する毎に「i++」でループカウンタ変数の「i」をインクリメント(1加算)しています。

    ・後置判定「do {処理} while(条件式);」の場合
     1.1回処理する毎に「j++」でループカウンタ変数の「j」をインクリメント(1加算)しています。
     2.条件式を判定して、条件が真ならループ処理を実行します。
     3.「j」が10未満の間、つまり「j」が1から9まで、9回処理を繰り返しています。
     ※初回判定するときには、既に「j」に1加算されている状態です。


    ループ(繰り返し)処理を終了する(抜ける)方法

    ループ(繰り返し)処理を、途中で終了する方法を説明します。 以下のサンプルプログラムの様に、while文中に「break」を記述して、繰り返し処理を終了させることができます。

    サンプルソースコード
    class WHILE {
       public static void main(String args[]) {
    
          String str = "処理します";
          int i=0;
    
          while(i < 10) {
             System.out.println( str + i );
             i++;
             break;
          }
       }
    }
    

    上記のJavaプログラムを実行すると、「処理します0」が1行が表示されます。 これは、while文により10回処理を繰り返そうとしますが、「break」により途中でwhile文を抜けたからです。


    ループ(繰り返し)処理の途中で読み飛ばして処理を継続する方法

    ループ(繰り返し)処理の途中で処理を読み飛ばして、かつ処理を継続させる方法を説明します。 以下のサンプルプログラムの様に、while文中に「continue」を記述することで、繰り返し処理の途中で処理を読み飛ばして、かつ処理を継続させることができます。

    サンプルソースコード
    class WHILE {
       public static void main(String args[]) {
    
          String str = "処理します";
          int i=0;
    
          while(i < 10) {
             if(i==5){
                i++;
                continue;
             }
             System.out.println( str + i );
             i++;
          }
       }
    }
    

    上記のJavaプログラムを実行すると、処理しますが9行表示され、「処理します5」だけが表示されません。 これは、while文により10回処理を繰り返していますが、「continue」により、「処理します5」のみを読み飛ばして処理を継続したからです。 サンプルソースコードのif文については、if(条件文)を使用するをご覧ください。


Javaプログラミング講座(入門編)
it-manual.comのウェブサイト
おすすめBTOパソコン通販サイト
  • デスクトップPC(ビジネス向け・クリエイター向け・ゲーム向け)、ノートPC、パーツ、周辺機器、ソフト(OS・ゲーム・セキュリティなど)幅広い分野の商品を扱っています。販売価格の幅が広く、品揃えも充実しています。
  • 「FRONTIERダイレクトストア」は、自社工場で製造したFRONTIERブランドのパソコンを日本全国に販売する株式会社KOUZIROのインターネットショッピングサイトです。カスタマイズ可能なBTOゲームパソコンも販売しています。
オンライン書店
  • ライブドアブックスを利用すると、わざわざ書店で本を探さなくてもインターネットで本を検索して購入することができます。
  • 注文してから、本が早く届くオンライン書店として定評があります。送料250円で、1500円以上のお買い上げで送料が無料です。
  • eBOOKOFF(イーブックオフ)は、コミック、書籍、CD、ゲーム、DVDなどを販売する日本最大級のオンライン中古書店です。
  • 全巻漫画.comは、日本最大級の古本全巻セット在庫量を誇るオンライン中古書店です。10,000以上の購入で送料が無料になります。