JAVA基础数组的问题

有两道问题先谢谢各位了第一道:publicclassChuShiHua1{publicstaticvoidmain(Stringargs[]){//创建一个boolean... 有两道问题 先谢谢各位了

第一道:
public class ChuShiHua1
{
public static void main(String args[])
{
//创建一个boolean型的数组,长度为2
boolean bo[] = new boolean[2];
//创建一个byte型的数组,长度为2
byte b[] = new byte[2];
//创建一个char型的数组,长度为2
char c[] = new char[2];
//创建一个short型的数组,长度为2
short s[] = new short[2];
//创建一个int型的数组,长度为2
int i[] = new int[2];
//创建一个long型的数组,长度为2
long l[] = new long[2];
//创建一个float型的数组,长度为2
float f[] = new float[2];
//创建一个double型的数组,长度为2
double d[] = new double[2];
System.out.println(bo[0]);
System.out.println(b[0]);
System.out.println(c[0]);
System.out.println(s[0]);
System.out.println(i[0]);
System.out.println(l[0]);
System.out.println(f[0]);
System.out.println(d[0]);
}
}
为什么char输出是空格 而其他的都是零

第二道:
public class ChuShiHua2
{
public static void main(String args[])
{
//创建一个boolean型的数组,长度为2
Boolean bo[] = new Boolean[2];
//创建一个byte型的数组,长度为2
Byte b[] = new Byte[2];
System.out.println(bo[0]);
System.out.println(b[0]);
}
}
此代码和第一道的基本一样 但为什么输出的是两个null
展开
 我来答
Jseven_jy
2011-02-24 · TA获得超过8122个赞
知道大有可为答主
回答量:2499
采纳率:100%
帮助的人:1140万
展开全部
第一道,所用的都是基本数据类型,0是初值,而char的初值就是空格,对应的ASCII码是0

第二道,之所以输入的是null,是因为里面用的是类,而不是基本数据类型,类的初值是为null的。。Byte是基本数据类型byte的包装类。。是一个类而不是基本数据类型

希望对你有帮助。。。仍有问题可以HI我。。。
追问
我还是没弄明白第二题
两道题的代码基本一样 除了第一道是小写boolean 而第二道是大写Boolean 难道区别在这里吗
追答
是的。。。小写的boolean是JAVA里面的基本数据类型。。。。

而大写的Boolean是JAVA里面的一个类,所以初值为null

类的初值是为null的。。。。
百度网友b4df353
2011-02-24
知道答主
回答量:13
采纳率:0%
帮助的人:0
展开全部
一个是基本类型,一个是引用类型,char的默认值是空格,引用类型的默认值都是null.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaofengyuye
2011-02-24
知道答主
回答量:11
采纳率:0%
帮助的人:4.5万
展开全部
我先回答第二个问题:因为第二个中你建立的是对象数组,初始化值是null
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pensiero
2011-02-24 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6921
采纳率:83%
帮助的人:1274万
展开全部
java中数组使用new 关键字分配空间后会赋默认值,默认值的值要看数组的类型。
规律是:
基本变量:byte,short,int,long 初始化为0

boolean初始化为false

float,double初始化为0.0

char初始化为 '\u0000'

引用类型初始化为null
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
霜的碗8765
2011-02-24
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
这个问题属于Java的赋值原则
boolean,int,char ,float, double属于基本类型,如果未赋值,java默认给boolean的自动赋值为false,float、double自动赋值为0.0,char为空,其他各供引用类型变量自动赋值为null

在第二个class中,Boolean和Byte都属于引用类型(类),所以未赋值的时候,会为null

具体请参考Java编程思想或基础类的书
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式