A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈泽鑫 中级黑马   /  2012-12-10 15:08  /  1598 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 陈泽鑫 于 2012-12-10 16:56 编辑

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

5 个回复

倒序浏览
局部变量在使用前必须被程序员主动的初始化,和此形成对比,系统中的成员变量则会被系统提供一个默认的初始值。所以在语法上,类的成员变量能够定义后直接使用,而局部变量在定义后先要赋初值,然后才能使用。
回复 使用道具 举报
洪灿阳 来自手机 中级黑马 2012-12-10 15:26:50
藤椅
全局变量系统可以自动设置初值,而局部变量需要手动设置。但是由于系统设置的初值为0或者null,所以有必要的话,对于全局变量还是自己手动设置初值。
回复 使用道具 举报
当然是要初始值的,但是,
类变量有默认初始值,因此可以不写,int 的默认初始值是 0,boolean 是 false,对象是 null
局部变量(方法里的变量)是没有默认初始值的,在第一次被用到之前一定要赋值。
回复 使用道具 举报
关于赋值:

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

楼主应该明白了吧。
回复 使用道具 举报
多谢个位的答疑解惑{:soso_e121:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马