TxKxZxWx's blog

AWS SAA、Javaの学習

Java学習 4日目 「繰り返し処理 - while, for」

・条件によるくり返し処理 - while

 

同じ処理を繰り返すためには「while」を使用する。

 

基本形:

 

        // カウンタ変数を初期化

        while (条件式) {

            // 繰り返し処理

            // カウンタ変数を更新

        }

 

 

例:

public class Main {

    public static void main(String args) {

        int i = 0;    // カウンタ変数の初期化

        while (i <= 5) {    // 0 -> 1 -> 2 -> 3 ・・・ 5 -> 6

            System.out.println("hello world " + i);    // 繰り返し処理

            i = i + 1;    // カウンタ変数の更新

        }

        System.out.println("last " + i);

    }

}

 

⬇︎

hello world0

hello world1

hello world2

hello world3

hello world4

hello world5

last6

 

解説:i変数に1が追加され5になるまでprintln処理が繰り返される。

6になると i <= 5 が適用されないのでループから抜ける。

 ※カウンタ変数の更新を忘れると無限ループになってしまうので注意!

 

 

 

・自己代入演算子 

+=     a += 1           a = a + 1 と同じ

-=   a -= 1      a =  a - 1 と同じ

 

a = a + 1は a += 1に書き換えることができる。

 

 

「whileを使ってRPGの攻撃シーンを作る」

 

// スライムを何度も攻撃

// ダメージは、1から10までランダム

// スライムのHPがゼロになるまで繰り返す

 

public class Main {

    public static void main(String args) {

        int hp = 30;

        int hit;

        while(hp > 0) {

            hit = (int)(Math.random() * 10 + 1);

            System.out.println("スライムに、" + hit + "のダメージを与えた!");

            hp -= hit;  // hit変数の値がhpからマイナスされてループ処理

        }

        System.out.println("スライムを倒した");  // hpの値が0以下になるとループ抜ける

    }

}

 

 

条件によるくり返し処理 - for

 

基本形:

for(カウンタ変数を初期化; 条件式; カウンタ変数を更新) {

             // 繰り返し処理

        }

 

 

例:

int i;

        for(i = 0; i <= 2; i++) {

             System.out.println("hello world " + i);    // 繰り返し処理

        }

        System.out.println("last " + i);

 

⬇︎

hello world0

hello world1

hello world2

 

 

※i変数はループの中でしか使えない。

ループの外でも変数を使う場合は先に変数を宣言しておく必要がある。

 

 

・インクリメント演算子

++     例:a++     1増加させる。(a = a + 1)と同じ。

 

 

 

 

・ループ処理でHTMLのプルダウンメニューを作成する。

 

基本形:

<select name='age'>
<option>1才</option>
<option>2才</option>
<option>3才</option>
</select>

 

 

これをforを使い記述する。

例:年齢を1歳から100歳まで選択できるプルダウンメニュー。

 

// 年齢入力のプルダウン作成
System.out.println("<select name='age'>");
for(int i = 1; i <= 10; i++) {
System.out.println("<option>" + i + "歳</option>");
}
System.out.println("</select>");

 

 

 

例2:

for命令を使って、箇条書きで1から100まで出力する 。

System.out.println("<ul>");
for (int i = 1; i <= 100; i++) {
System.out.println("<li>" + i + "</li>");
}
System.out.println("</ul>");

 

⬇︎

・1

・2 

・3

・100

 

 

 

ーーーーーーーーーーーーーーーーーーーー

「本日学んだこと 」

 

・「while」 同じ処理を繰り返す。

 

 ※カウンタ変数の更新を忘れると無限ループになってしまうので注意!

 

 

・自己代入演算子 

 

a = a + 1は a += 1に書き換えることができる。

  

 

 ・「for」 同じ処理を繰り返す

 

※i変数はループの中でしか使えない。

ループの外でも変数を使う場合は先に変数を宣言しておく必要がある。

 

 

・インクリメント演算子

 

a = a + 1は a ++に書き換えることができる。

 

 

 ・forとHTMLタグを組み合わせる

 

System.out.println("<ul>");
for (int i = 1; i <= 100; i++) {
System.out.println("<li>" + i + "</li>");
}
System.out.println("</ul>");

 

この書き方を自分で導くまで少し苦戦してしまった。

構造は理解できたので他のタグにも応用していこうと思う。