//for文
for (初期化処理; 繰り返す条件; 繰り返す度に実行する処理) {
繰り返す処理;
}
//拡張for文
for(要素の型 要素名 : iterableを実装しているオブジェクト){
繰り返す処理;
}
javaにはfor文と拡張for文があり、それらを使うことで繰り返し処理を実行することができます。
今回は普通のfor文を紹介します。
for(int i = 0 ; i < 10 ; i++ ){
System.out.print(i);
}
実行結果:
0123456789
初期化処理
はループの回数をカウントする為の変数の初期値を設定します。
繰り返す条件
にはboolean型
を返すような式を書きます。大体比較演算子を使います。この式は繰り返し行う度に評価され、trueを返すまで実行され続けます。サンプルコードではi
が10
未満である限り繰り返し実行し続けるという意味です。
繰り返す度に実行する処理
では繰り返しを1度終える度に実行する処理を書きます。javaではここはインクリメント演算子か代入演算子を使う事が多いです。サンプルコードではi
が繰り返し実行する度に1ずつ増やされることになります。
while(条件){
処理;
}
do{
処理;
}while(条件);
while文を使うことで、ある条件を満たしている限り、繰り返し処理を行うことができます。条件にはboolean型
を返す式を記述します。
while文では繰り返し処理前に指定した条件が満たされているかどうかを判定してから処理を実行しますが、do-while文では1回は必ず処理します。 そして、その処理を実行した後で条件を満たしているかどうかを判定し、その後繰り返し処理を行うことができます。
int i = 0;
while(i < 10){
System.out.print( i + "," );
i++;
}
System.out.println();//改行の為
int j = 1;
do{
System.out.print( j + "," );
j *= 2;
}while(j < 70);
出力結果:
0,1,2,3,4,5,6,7,8,9,
1,2,4,8,16,32,64,
breakとcontinueは反復処理において使用されるキーワードです。
break
は、ループの実行中に特定の条件が満たされた場合、ループを強制的に終了して、ループを抜けるために使用されます。
continue
は、ループの実行中に特定の条件が満たされた場合、その時点での処理をスキップして、次のループに進むために使用されます。
どちらもfor文やwhile文で使います。
int a = 0;
while (true) {
System.out.print(a);
a ++;
if( a > 5 ){
break;
}
}
実行結果:
01234
上記のサンプルコードでは変数a
が5以上の場合にbreak
が呼ばれ、5より大きい場合にループが終了します。
条件部分のtrue
が入っているので、while文の中でbreak
しない限り無限ループします。
for(int i = 0 ; i < 10 ; i++){
if(i%2 == 1){
continue;
}
System.out.print(i);
}
実行結果:
02468
上記のサンプルコードでは変数i
が2で割り切れない数(奇数)の場合にcontinueが呼ばれ処理がスキップされます。i
が2で割り切れない数(奇数)の場合にはSystem.out.println()
は実行されません。