java chapter7 for文の使い方③

コンニチハ、予告通り{}のないfor文から、

 

{}のないfor文

for文は{}の中に書いた内容を繰り返し実行します。

{}全体を ブロック文 といいます。

ただ、処理文が一つだけの場合は{}を省略できます。

 

では、{}のないfor文のプログラムをやっていきます。

package Sample;
public class sample_sample1 {
public static void main (String[] args){
 int[] point ={50,100,150,200};
 for(int  i=0; i<point.length; i++)
     
  System.out.println( point[i] );
 }
   
}

プログラムを見ていくと、このfor文4行目に{}がありませんね(^^♪

繰り返し処理が6行目だけなので、{}を省略できます。

Eclipseで実行するとこんな感じです。

Content image

次のケースを見てみます。

package Sample;
public class sample_sample1 {
public static void main (String[] args){
 for(int  i=0; i<5; i++)
  System.out.println( "A");  
  System.out.println( "B" );
   
 }
   
}

この場合 A だけがfor文で出力され、 Bの出力は、for文では実行されません。

for文が終わった後 B が1回だけ出力されます。

{}を省略するかどうかは、好みの問題ですwww

で、実行結果

Content image

A が5回繰り返され

Bが最後に表示されていますね。

for文の要素の省略

ここからは実際ほとんど使わない(使うべきではない!!!)書き方ですが、

OCJP(Oracle Certified Java Programmer)試験

などでしばしば出題されるそうなので致死として覚えておくといいかも?!

(多分受けることないと思うけど自分は???)

 

(1)初期設定を省略した例

セミコロン(;)は省略できないよ

初期設定を省略する代わりに、for文の外でiを宣言し0を代入

int i=0
for(; i< 50; i++){
	System.out.println(i);
}

 

(2)初期値設定とカウンタ変数の更新を省略した例

セミコロン(;)は省略できないよ

カウンタ変数の更新処理がないと無限ループになってしまうので、ここでは繰り返し処理の最後に i++; を追加。

int i=0
for(; i< 100;){
	System.out.println(i);
	i++;
}

 

(3)すべて省略した例

セミコロン(;)は省略できないよ

何も書かないとfor文を終わることができなくなり、無限ループになる。

この例では∞という記号を永遠に表示させます。

※起動すると停止させるのが面倒なので自己責任でお願いします。

for( ;  ; ){
	System.out.println("∞");
}

☆無限ループの対処法

Eclipseのコンソールに画像のようなボタンがあるのでそこをクリックして終了させてください。

Content image

この赤い停止ボタン

でないと永遠に繰り返されるんで・・・・・・・・・・・・・・・

押すと止まります

Content image

 

(4)複数のカウンタ変数を使う

ここ正直省略の逆で、カウンタ変数や式を余計に書くケースですねwww

for文の初期化では、一般の変数宣言と同じで、コンマで区切って複数のカウンタ変数を宣言できます。カウンタ変数の更新処理でも、コンマで区切り複数の式を書くことが可能です。

 

for (int i=0, j=6; i<j; i++, j--){
	System.out.println(i+"/"+j);
}

Eclipseで実行すると

Content image

こんな感じです

ここまでご覧いただきありがとうございました。

BY MT