....................
....................
...................
   public static void main( String args[] )
   {
      int total,gradeCounter,gradeValue,average;
      String grade;      total=0;
      gradeCounter=1;      while ( gradeCounter<=10 ) {
     
        grade=JOptionane.showInputDialog( "enter integer grade: " );
        gradeValue=Integer.parseInt( grade );
        total=total+gradeValue;
        gradeCounter=gradeCounter+1;      }
     average=tatal/10;
}
..........................
........................
......................
请教一下csdn里面的高手,为什么里面的变量grade,average不须要进行初始化!!
能详细说明么!??
谢谢

解决方案 »

  1.   

    average=tatal/10; 因为tatal错了应为total;grade=JOptionane.showInputDialog( "enter integer grade: " );
    JOptionane类没import
      

  2.   

    什么意思?
    grade,average是main中的局部变量!
      

  3.   

    grade和average不需要初始化,是因为你的代码中对他们的第一次使用就是一个赋值动作,相当于是一个初始化动作!如果你对他们的初次使用是打印之类的,肯定提示未初始化!
      

  4.   

    因为是简单类型,java对简单类型有系统默认的初始值.
    对象是一定要初始化,也就是实例化才能使用,但是String对象除外。
      

  5.   

    完全同意 chylwk(沧海一浪) 说的.所谓"初始化"就是声明和赋值, 所以其实grade和average都已经"初始化"过了.其他人的观点不敢苟同:只有成员变量, 也就是直接声明在类下面的变量(也叫字段), 才会自动赋值. 基本类型赋值为0等价的一类值, 如int是0, char是'\u0000', boolean是false. 而对象类型(包括String)会自动赋值为null. 注意String类型不会自动赋值为"".而本地变量, 或者叫方法变量, 即方法体内声明的变量, 一率不会自动赋值, 试图使用未赋值的变量都将不能通过编译.
      

  6.   

    回复人: alley_zhan(晓柯) ( ) 信誉:99  2005-06-16 13:27:00  得分: 0  
     
     
       因为是简单类型,java对简单类型有系统默认的初始值.
    -------------------------------------------------------
    不推荐,使用上述方法!建议不要使用末默认的方式给变量初始化,这是一个不好的编程习惯!