java:找不到符号

为什么只有变量a报错,变量b不报错?

 public class Ex2 {
    public static void main(String[] args) {
        for(int a=1,b=1;a<=100;a++){
            if(b>=20) break;
            if(b%3==1){
                b+=3;continue;
            }
            b-=5;
        }
        System.out.println(a);

    }
}

运行结果及报错内容

运行结果:
java: 找不到符号
符号: 变量 a
位置: 类 ex.Ex2
IDEA报错:
无法解析符号 'a'

变量是有作用域的,System.out.println(a); 这行代码中的 a 已经超出了它的作用域,所以报错,如果你想使用变量 a, 可以把它的定义提到 for 语句前面。

改正后:

public class Ex2 {
    public static void main(String[] args) {
        int a,b;
        for(a=1,b=1;a<=100;a++){
            if(b>=20) break;
            if(b%3==1){
                b+=3;continue;
            }
            b-=5;
        }
        System.out.println(a);
    }
}