public class test{
public static void main(String[] args) {

for(int i =0;i <=10;i++){
if(i>6)
break;
}


System.out.println(i);
}
}
为什么会编译错误???

解决方案 »

  1.   

    i是局部变量,只能在第三个大括号和第四个大括号之间引用i才不会报错
    你在其他地方引用i就会报错
    understander?
    public class test{
            public static void main(String[] args) {
            
            for(int i =0;i <=10;i++){
             System.out.println(i);
                if(i >6)
                    break;
            }
            
          }
    }
      

  2.   

    i是局部变量,它的作用域只在for循环里出去for循环就不能用了;
    可以这样写:
    int i;
      for(i =0;i <=10;i++){
                if(i>6)
                    break;        }
    System.out.println(i);
            
      

  3.   

    public class test{
     
        public static void main(String[] args) {
            int i;
            for(i =0;i <=10;i++){
                if(i>6)
                    break;
            }
            
            
            System.out.println(i);
        }
    }
    你所定义的I在for这个函数体里面,所以只能在该函数体内使用.你可以将I定义在main这个方法体内,那么在这个方法体内的任何地方都可以使用了(如上)
      

  4.   

    public class test{
            public static void main(String[] args) {
            
            for(int i =0;i <=10;i++){
                    if(i >6)
                    {
                    System.out.println(i);
                    break;
                    }
            }
            
          }
    }
      

  5.   

    因为你的变量i只在for语句里有效,这是一个作用域的问题,修改方法
    public class test{
      public static void main(String[] args) {
        
      for(int i =0;i <=10;i++){
       if(i >6)
       {
        System.out.println(i);
        break;
       }
      }
      }
    }或者
    public class test{
      public static void main(String[] args) {
      //将变量定义在这里
      int i;  
      for(i =0;i <=10;i++){
      if(i >6)
      {
        break;
      }
      }
      //在这里才可以使用
      System.out.println(i);    
      }
    }