繰り返し構造

繰り返し1

変数 x に1から10までの値を代入して順番に表示します。

エディタを使って java というフォルダ内に次のような内容のファイルを作り、Kurikaeshi01.java という名前で保存します。

//以下は解説です。コンパイル時には無視されますから、入力する必要はありません。

ファイル名 Kurikaeshi01.java

public class Kurikaeshi01 { 
    public static void main( String[] args ) {
        int x;                            //変数xの宣言
        for ( x=1 ; 10>=x ; x++ ){        //1から10まで繰り返す
            System.out.println( x );      //xを表示
         }                                //xの繰り返しはここまで
    } 
}

コンパイルと実行は次のようにします。

$ javac Kurikaeshi01.java
$ java Kurikaeshi01
1
2
3
4
5
6
7
8
9
10
$ 

forの後ろの()内は for( 最初にすること ; 繰り返す条件 ; 1回終わったらすること )です。

10>=x はxが10より小さいかまたは等しいという意味。

x++はxを1つ増すという意味。x=x+1と書くこともできます。ここに書いてあるという事は繰り返すたびにxが1ずつ増えるという事です。

繰り返し2

Kurikaeshi01.java と書いてあることは同じですが、場所が異なります。whileの方がプログラムの流れのままなのでわかりやすいかもしれません。forは必要なことを一箇所にまとめて書いてあると考えることができます。

ファイル名 Kurikaeshi02.java

public class Kurikaeshi02 { 
    public static void main( String[] args ) {
        int x;                        //変数xの宣言
        x = 1;                        //1を代入
        while ( 10>=x ){              //10より小さいなら繰り返す
            System.out.println( x );  //xを表示
            x++;                      //xを1増やす
         }                            //xの繰り返しはここまで
    } 
}

コンパイルと実行は次のようにします。

$ javac Kurikaeshi02.java
$ java Kurikaeshi02
1
2
3
4
5
6
7
8
9
10
$ 

変数 x に 10, 20, ..., 100(forを使って)

変数 x に 10, 20, ..., 100 までの値を代入して順番に表示します。

Kurikaeshi01.java から次の部分を変更するだけです。エディタで「別名で保存」を選び、Kurikaeshi03.java という名前で保存すればいいでしょう。

ファイル名 Kurikaeshi03.java

public class Kurikaeshi03 { 
    public static void main( String[] args ) {
        int x;                            //変数xの宣言
        for ( x=10 ; 100>=x ; x=x+10 ){
            System.out.println( x );      //xを表示
         }                                //xの繰り返しはここまで
    } 
}

コンパイルと実行は次のようにします。

$ javac Kurikaeshi03.java
$ java Kurikaeshi03
10
20
30
40
50
60
70
80
90
100
$ 

変数 x に 10, 20, ..., 100(whileを使って)

変数 x に 10, 20, ..., 100 までの値を代入して順番に表示します。

Kurikaeshi02.java から次の部分を変更するだけです。? の部分を考えましょう。エディタで「別名で保存」を選び、Kurikaeshi04.java という名前で保存すればいいでしょう。

ファイル名 Kurikaeshi04.java

public class Kurikaeshi04 { 
    public static void main( String[] args ) {
        int x;                        //変数xの宣言
        x = ?;                       //10を代入
        while ( ?>=x ){             //100より小さいなら繰り返す
            System.out.println( x );  //xを表示
            x=x+?;                   //xを10増やす
         }                            //xの繰り返しはここまで
    } 
}

コンパイルと実行は次のようにします。

$ javac Kurikaeshi04.java
$ java Kurikaeshi04
10
20
30
40
50
60
70
80
90
100
$ 

データ数をnにする(forで)

Kurikaeshi01.java から次の部分を変更するだけです。エディタで「別名で保存」を選び、Kurikaeshi05.java という名前で保存すればいいでしょう。

ファイル名 Kurikaeshi05.java

import javax.swing.*;

public class Kurikaeshi05 { 
    public static void main( String[] args ) {
        int x,n;
        String s;
        s = JOptionPane.showInputDialog("整数を入れてください?");
        n = Integer.parseInt(s);
        for ( x=1 ; n>=x ; x++ ){
            System.out.println( x );
        }                             //xの繰り返しはここまで
    } 
}

コンパイルと実行は次のようにします。

$ javac Kurikaeshi05.java
$ java Kurikaeshi05

実行するとは次のようにダイアログが出ます。nの値を入力すると端末に結果が表示されます。

入力した数だけ繰り返すのを確認します。

1
2
3
4
5
$ 

データ数をnにする(whileで)

Kurikaeshi02.java から次の部分を変更するだけです。エディタで「別名で保存」を選び、Kurikaeshi06.java という名前で保存すればいいでしょう。

ファイル名 Kurikaeshi06.java

import javax.swing.*;

public class Kurikaeshi06 { 
    public static void main( String[] args ) {
        int x,n;
        String s;
        s = JOptionPane.showInputDialog("整数を入れてください?");
        n = Integer.parseInt(s);;
        x = 1;
        while ( n>=x ){
            System.out.println( x );
            x++;
        }
    } 
}

コンパイルと実行は次のようにします。

$ javac Kurikaeshi06.java
$ java Kurikaeshi06

結果はKurikaeshi05と同じです。