Chapter 09

Java 繰り返し

おでん
おでん
2021.08.06に更新

繰り返し

繰り返しで代表的なものは以下の4つです。

  1. while文
  2. do while文
  3. for文
  4. 拡張for文

1. while文

while文は条件がtrueの間、ずっと繰り返します。以下の記述で使用します。

while ( 条件 ) {
    処理;
}
int i = 0;   
while (i <= 5) {  
  System.out.println(i);  
  i++;   
}
結果
0
1
2
3
4
5

2. do while文

do while文は最低でも1回は実行される繰り返しです。以下の記述で使用します。

do {
    処理;
} while ( 条件 );
public class num {
    public static void main(String[] args) {
        int i = 6;   
        do {
            System.out.println(i);   
            i++;   
        } while (i <= 5);   
    }
}
結果
6

3. for文

for文は初期値や条件などを指定した繰り返しです。以下の記述で使用します。

for (初期値; 条件; 増減値) {
    処理;
}
for(int i = 0; i <= 5; i++) {
  System.out.println(i);
}
結果
0
1
2
3
4
5

4. 拡張for文

拡張for文は配列やコレクションの全要素分繰り返します。以下の記述で使用します。

for (要素の型 変数名: 配列名(コレクション名)){
    処理;
}
int total = 0;
int number[] = {1, 2, 3, 4, 5};
for(int score: number){
 total += score;
}
System.out.println("合計=" + total );

繰り返し文の制御

繰り返し文を制御するものとして、以下の2つがあります。

  1. break文
  2. continue文

1. break文

break文は、繰り返し処理を中断させることができます。

例1
for (int i = 0; i <= 5; i++){
  if (i == 3){
    break;
  }
  System.out.println(i);
}
結果
0
1
2

変数iが3の時に繰り返し処理が終了し、「System.out.println(i)」が実行されていないことがわかります。
少し順番を変えたパターンを見てみましょう。

例2
for (int i = 0; i <= 5; i++){
  System.out.println(i);
  if (i == 3){
    break;
  }
}
結果
0
1
2
3

繰り返しを中断する前(つまり変数iが3の時にbreak文に到達する前)に「System.out.println(i)」が実行されているため、「3」は先に出力されています。
処理を中断するタイミングによって、結果が異なることが上記2つの例でわかると思います。

2. continue文

continue文は、繰り返し処理をスキップさせることができます。
具体的には、contunue文以降の処理をスキップします。

例1
for (int i = 0; i <= 5; i++){
  if (i == 3){
    continue;
  }
  System.out.println(i);
}
結果
0
1
2
4
5

変数iが3の時だけスキップされていることがわかります。
それでは、配置を変えたパターンもみてみましょう。

例2
for (int i = 0; i <= 5; i++){
  System.out.println(i);
  if (i == 3){
    continue;
  }
}
結果
0
1
2
3
4
5

全ての繰り返し処理が行われています。
これは、先に「System.out.println(i)」にて出力処理が行われており、変数iが3の時だけスキップする処理がないためです。