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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 三川草民 中级黑马   /  2015-9-24 20:23  /  764 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

例如 int a=1;
程序执行完这一步的时候,对a进行了赋值1。

如果是这样定义
     int a;
程序执行完这一步的时候,是否对a进行了赋值呢?

13 个回复

正序浏览
成员变量有初始值0,局部变量没有
回复 使用道具 举报
成员变量如果不初始化,虚拟机自动赋0
局部变量(函数内部定义的变量)必须进行初始化 才能使用,否则编译时就报错
回复 使用道具 举报
成员变量有默认值0,局部变量的话没有
回复 使用道具 举报
局部变量不会,而类成员变量则可以。
回复 使用道具 举报
如果是引用该变量的类,就会自动复制,如果不是,就是还没有赋值
回复 使用道具 举报
路过,顶一下
回复 使用道具 举报
德胜 中级黑马 2015-9-24 21:24:36
8#
默认为0
回复 使用道具 举报
int=a,在局部变量中是没有初始化值,如果是通过new建立的对象中的成员变量,那么int=a的初始化值就为0,除却int类型,该对象其他类型的成员变量都有相对应的初始化值!
回复 使用道具 举报
lvfx 来自手机 中级黑马 2015-9-24 21:20:03
地板
没有                 
回复 使用道具 举报
在局部里没有,在类中默认初始化为0
回复 使用道具 举报
没有对a赋值,  int a = 1; 表示声明加赋值,  int a; 只是声明了一个int类型的变量a ,如果是局部变量的话(方法里声明的),不能直接打印或者使用的,会报错的.
回复 使用道具 举报
没有对a赋值,只有建立对象的时候才会赋值null
回复 使用道具 举报
没有的。在类中定义才有。
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马