大変お世話になっております。
反逆する武士
uematu tubasaです。
初回投稿日時:2023年6月10日(令和5年6月10日)
先日、私のTwitterアカウント(@rebelbushi)にて、黒本の人からいいねを貰いました。
とても励みになります。
ありがとうございました。
さて、本日もJavaの勉強の記事です。
繰り返し処理whileとは
int a = 0;
do {
System.out.println(a++);
} while (a < 5);
実行結果:コンソールに0から4まで繰り返し出力される。
do-while文またはwhile文という繰り返しの書き方がございます。
※上記は典型的なdo-while文
ポイントに絞ってお話させていただくと、以下のようになります。
1、while文やdo-while文では繰り返し処理内容が1行だけならば、{}を省略できる。
したがって、上記のソースコードを以下のように変更することが可能。
int a = 0;
do System.out.println(a++); while (a < 5);
しかしながら、{}を省略した場合、2行以上繰り返し処理内容を記述してしまうとコンパイルエラーになるので注意。
2、do-while文の場合、while(条件式);と記述し、;(セミコロン)が最後に必要。
3、while(条件式)⇒条件式は必ずtrueもしくはfalseで判定できる条件式を記入。
4、while文の条件から抜ける場合であっても、条件式は実行される。
したがって、以下のソースコードを実行すると13がコンソール出力される。
int num = 10;
while ( num++ <= 10)
num++;
System.out.println(num);
実行結果:13がコンソール出力される。
理由:1回目の条件式が実行、繰り返し処理が実行、2回目の条件式が実行、繰り返し処理には進まず、コンソールに出力されるから。
システム開発では、条件を抜ける際にも条件式が実行されることを意識するべき。
繰り返し処理for文とは
for(int i = 1, long j =2; i < 5; i++){
System.out.println( i * j );
}
実行結果:コンパイルエラー
for文という繰り返し処理の記述方法があります。
for(初期化文; 条件文; 更新文){
//繰り返し処理内容
}
ポイントは以下の通り。
1、初期化文において複数の変数を宣言する場合は変数は同じ型でなければならない。
したがって、上記のfor文はint型変数とlong型変数を宣言してしまっているため、コンパイルエラー。
2、for文の処理タイミングは以下の通りになる。
【1】初期化文
【2】条件文
【3】繰り返し処理内容
【4】更新文
3、初期化文において複数の変数を宣言する場合は「,」で区切る必要あり。
4、複数記述することができるのは、初期化文と更新文であり、条件式は複数記述できない。
したがって、条件式を複数にしたい場合は&&またはllという形式にしなければならない。
以下のfor文はコンパイルエラーになる。
for(int i =0 , j = 0; i < 3 , j < 5; i++, period() ){
System.out.println(i++);
j += i ;
}
private static void period(){
System.out.println( ”,” );
}
実行結果:コンパイルエラー
理由:初期化文と更新文は複数なのは問題なしだが、条件式が複数なのはNGだから。
5、for文章の条件式と更新式は省略できる。
ラベルという処理
sample :
for (int i = 0; i < 10; i++){
for(int j = 0; j < 10; j++){
if( 3 < j ){
break sample;
}
}
}
このような場合だと、j が3より大きい場合には、sampleという処理の固まりから抜け出すという処理になる。
continueや代入と式、return文、tryとthrow文、繰り返し処理や分岐があってもラベルは可能とのこと。
このような機能があったとは思わず・・・システム開発では使わないですからね。
以上、よろしくお願い致します。