public class BSort
{
public static void main(String[] args) 
{
int b;
System.out.println(b);
}
}
//BSort.java:7: 错误: 可能尚未初始化变量b
//程序为什么会出错啊,类型值得默认值不是0吗,怎么不是输出0Java

解决方案 »

  1.   

    把int b放在main方法之外,就能产生你想要的结果了。
      

  2.   

    怎么说呢。java就是这么规定的
    函数体之外的int就是会被初始化为0。
    这也是和C++的区别吧。当这样这样做效率会降低的
    我感觉java就是牺牲了效率,方便了程序员
      

  3.   

    成员变量和局部变量的区别成员变量和局部变量的区别 不是 作用域不同吗
    java中成员变量和局部变量的区别
    1.成员变量可以被public,protect,private,static等修饰符修饰,而局部变量不能被控制修饰符及static修饰;两者都可以定义成final型
    2.成员变量存储在堆,局部变量存储在栈
    3.存在时间不同
    4.成员变量有默认值,(被final修饰且没有static的必须显式赋值),局部变量没有默认值
      

  4.   

    成员变量和局部变量的区别成员变量和局部变量的区别 不是 作用域不同吗
    java中成员变量和局部变量的区别
    1.成员变量可以被public,protect,private,static等修饰符修饰,而局部变量不能被控制修饰符及static修饰;两者都可以定义成final型
    2.成员变量存储在堆,局部变量存储在栈
    3.存在时间不同
    4.成员变量有默认值,(被final修饰且没有static的必须显式赋值),局部变量没有默认值多谢了