forサイクルに関する小さな問題

2753 ワード

次の手順があります.
package com.lk.B;



public class Test5 {



    public static void main(String[] args) {

        // TODO Auto-generated method stub

        for(int i=0;i<10;i++)

            Integer k = new Integer(i);

            System.out.println("Hello World");

    }



}

これが正しいと思っている人が多いかもしれませんが、実はあなたたちは間違っています.このプログラムのコンパイルは通過しません.Integer k=new Integer(i)という言葉が原因です.forループは{}を使用しなくてもよいが、実行文(変数生命文を含まない)に限られ、このコードのInteger kの役割範囲はMainメソッド全体にあるため、変数の繰り返し定義の誤りをもたらす.したがって、コンパイル中にエラーが発生します.修正するには、一対のカッコを付けて変数をブロック内に宣言すればいいです.次のようになります.
 
 1 package com.lk.B;

 2 

 3 public class Test5 {

 4 

 5     public static void main(String[] args) {

 6         // TODO Auto-generated method stub

 7         for(int i=0;i<10;i++){

 8             Integer k = new Integer(i);

 9         }

10         System.out.println("Hello World");

11     }

12 

13 }