黑马程序员技术交流社区

标题: 问个也不是特别重要的问题 [打印本页]

作者: 陈泽鑫    时间: 2012-12-10 15:08
标题: 问个也不是特别重要的问题
本帖最后由 陈泽鑫 于 2012-12-10 16:56 编辑

什么情况下,定义的变量必须赋初始值?

作者: 杨立    时间: 2012-12-10 15:21
局部变量在使用前必须被程序员主动的初始化,和此形成对比,系统中的成员变量则会被系统提供一个默认的初始值。所以在语法上,类的成员变量能够定义后直接使用,而局部变量在定义后先要赋初值,然后才能使用。
作者: 洪灿阳    时间: 2012-12-10 15:26
全局变量系统可以自动设置初值,而局部变量需要手动设置。但是由于系统设置的初值为0或者null,所以有必要的话,对于全局变量还是自己手动设置初值。
作者: 但汉涛    时间: 2012-12-10 15:29
当然是要初始值的,但是,
类变量有默认初始值,因此可以不写,int 的默认初始值是 0,boolean 是 false,对象是 null
局部变量(方法里的变量)是没有默认初始值的,在第一次被用到之前一定要赋值。
作者: Kevin123    时间: 2012-12-10 15:41
关于赋值:

只有实例变量会自动赋初值,例如:
class a
{
int i;
//这个i的值是0
void b()
{int j;
//方法中的变量不会自动赋初值
//如果这个时候用
System.out.print(j);
输出j的话 会报错
}
}

楼主应该明白了吧。
作者: 陈泽鑫    时间: 2012-12-10 16:55
多谢个位的答疑解惑{:soso_e121:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2