public class test{
 public static void main(String[] args){
    int skip = 4;
    for (int i = 1 ; i < 10 ; i++){
     if (i == skip) continue;
                             }      
   System.out.println("i="+i);         
                 }
}为什么红色的花括号在这里会有报错?(报错信息如下)
test.java:7: 找不到符号
符号: 变量 i
位置: 类 test
   System.out.println("i="+i);
                           ^
1 错误)
本人以为这样最后输出是9,我是初学者,谢谢高手帮助

解决方案 »

  1.   

    因为i的变量作用域是for () {...},出了红色括号i就被销毁了
      

  2.   

    public class test{
     public static void main(String[] args){
        int skip = 4;
        for (int i = 1 ; i < 10 ; i++){
         if (i == skip){ 
              continue;
            }      
       System.out.println("i="+i);         
         }
      }
    }
      

  3.   

    public class test{
      public static void main(String[] args){
        int i, skip = 4;
        for (i = 1 ; i < 10 ; i++){
            if (i == skip) continue;
        }      
       System.out.println("i="+i);         
       }
    }
      

  4.   

    这样也写也是正解,最后输出的是9,System.out.println("i="+i);在for循环外面,故i的作用域应该在for循环之前声明
      

  5.   

    这样也写也是正解,最后输出的是9,System.out.println("i="+i);在for循环外面,故i的作用域应该在for循环之前声明
    这个为输出是10呢??不是9!
      

  6.   

    这样也写也是正解,最后输出的是9,System.out.println("i="+i);在for循环外面,故i的作用域应该在for循环之前声明
    这个为输出是10呢??不是9!
    是我搞错了,是当i=10的时候跳出的循环
      

  7.   

    这样也写也是正解,最后输出的是9,System.out.println("i="+i);在for循环外面,故i的作用域应该在for循环之前声明
    这个为输出是10呢??不是9!
    是我搞错了,是当i=10的时候跳出的循环
    可是还是有问题,因为i<10的,根本取不到10呀?麻烦你和我说一下为什么,谢谢了
      

  8.   

    i<10的话,循环条件满足,继续进入循环。
    i=10的时候,条件i<10不满足,跳出循环
    所以如果i在循环块外能被访问,它的值一定是10
      

  9.   

    这样也写也是正解,最后输出的是9,System.out.println("i="+i);在for循环外面,故i的作用域应该在for循环之前声明
    这个为输出是10呢??不是9!
    是我搞错了,是当i=10的时候跳出的循环
    可是还是有问题,因为i<10的,根本取不到10呀?麻烦你和我说一下为什么,谢谢了
    循环中i<10;是循环的限定条件,当i=10时只是跳出循环,并不是i不能等于10,如例:
    int i;
    for(i=0;i<10;i++){}
    System.out.println(i);//输出结果是10;