繰り返し処理は、指定した回数や条件式に当てはまる間、ブロック内の処理を繰り返し行います。繰り返しには、while文やfor文といった構文が使われます。以下でそれぞれについて説明します。
while文は、何かの条件が成立している間、処理を繰り返すという構文です。
while(条件式){
(繰り返し実行したい処理)
}
package JSample;
public class JSample5_1{
public static void main(String[] args){
int i = 1;
while (i < 5){
System.out.println(i);
i ++;
}
}
}
実行結果while文のもう一つの構文としてdo/while文があります。
whilw分は、処理を実行する前に条件の確認を行いましたが、
do/while文は、処理を実行した後に条件の確認を行います。
まず、「処理」を実行して、それから条件を確認するため、少なくとも1回は「処理」を実行する点がwhile文と異なります
do{
(繰り返し実行したい処理)
}
while(条件式);
package JSample;
public class JSample5_2{
public static void main(String[] args){
int i = 1;
do{
System.out.println(i);
i++;
}while(i < 5);
}
}
実行結果
package JSample;
public class JSample5_3{
public static void main(String[] args){
int i = 10;
do{
System.out.println(i);
i++;
}while(i < 5);
}
}
実行結果for文は、「回数」を指定することで、「繰り返したい処理」を指定した「回数」だけ実行する構文です。
for文は次章で学習する配列などでよく用いられるため
for([初期化式]; [条件式]; [加算式]){
(繰り返し実行したい処理)
}
初期化式:変数の宣言と初期化
package JSample;
public class JSample5_4{
public static void main(String[] args){
for (int i = 1; i <= 5; i = i + 1){
System.out.println(i);
}
}
}
実行結果
1for文の少し違った使い方として拡張forループ(for-eachループ)という使い方ができるようになりました。
これはfor文のように、繰り返しを行う条件式がありません。対象となる配列やコレクションと呼ばれる要素の数だけ繰り返しを行います。
for(データ型 変数名: コレクション){
(繰り返し実行したい処理)
}
package JSample;
public class JSample5_5{
public static void main(String[] args){
String[] cars = {"Toyota", "Honda", "Subaru", "Nissan"};
for (String i : cars){
System.out.println(i);
}
}
}
実行結果問題[JEx5_1.java]
1から30までで3の倍数のみを出力するプログラムを作成してください。 ただし、while文を使用すること。
1 12 123 1234 12345 123456 1234567 12345678 123456789