局部变量的默认值的问题

局部变量的默认值的问题
昨天看了几道Java认证工程师的试题,有一道题如下。
局部变量boolean的默认值为
A、false 
B、true 
C、null 
D、无默认值,必初始化 
正确的答案是D,当时我的答案是A false,那么为什么我要选A呢,原因如下。
基本类型            默认值
boolean             false
char                   ‘\u0000’ (null)
byte                   (byte)0
short                  (short)0
int                       0
long                   0L
float                    0.0f
double                0.0d


但是我的答案是错的,在eclipse手动敲出了类似的代码,测试一下,再次证明答案D是对的。具体原因如下。
系统不会自动为局部变量赋初值,但对于成员变量,系统会自动赋初值。基本类型的值为0,复合类型的值为null。因此上述类型的默认值只使用于成员变量不适用于局部变量。

Last Modified:2011-12-25

更多技术文章请访问:Thinkblog

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值