public static void main(String args[]) {
int a;
if(a==8){
int b=9;
System.out.println("a="+a);
System.out.println("b="+b);
}
System.out.println("a="+a);
System.out.println("b="+b);
}
各位大侠,这段为什么不报a未初始化的错

解决方案 »

  1.   

    没有
    局部变量不给初始化的
    public static void main(String args[]) {
    int a;
    if(a==8){
    int b=9;
    System.out.println("a="+a);
    System.out.println("b="+b);
    }
    System.out.println("a="+a);

    这样他就报出来了
      

  2.   

    不管怎么说
    a,b都有错
    为什么只报b的错,不报a的错
      

  3.   

    myeclipse 等IDE 检查错误是有顺序的,从错误的严重性从高到低检查,
    检查到错误就停止检查了。(具体IDE可能不同)
      

  4.   

    //System.out.println("b=" + b);因为b的错误严重,所以你先得解决这个问题。
      

  5.   

    if 的分支b没有声明  
    第二个 System.out.println("b="+b);  //错误