java关于数组初始化问题

比如对数组初始化int[]a=newint[8];和int[]a=new{1,2,3,4,5,6,7,8,};上面有什么不同吗?书上说的数组创建和初始化好像是一样东西啊。... 比如对数组初始化
int[] a=new int[8];和int[] a=new {1,2,3,4,5,6,7,8,};
上面有什么不同吗?
书上说的数组创建和初始化好像是一样东西啊。。看的头都晕了,有大哥大姐解释下吗?
展开
 我来答
maoyuan55
2012-10-30 · TA获得超过342个赞
知道小有建树答主
回答量:172
采纳率:100%
帮助的人:148万
展开全部
想知道区别,这很简单,你做一个循环,输出一下就知道了。
#######int[] a=new {1,2,3,4,5,6,7,8,};这个语法正确么?由此可见你动手能力太差,根本不自己去尝试的练习。

public class Test{
public static void main(String[] args) {
int[] a=new int[8];
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]);
}//输出:00000000

System.out.println();
String[] a1=new String[8];
for (int i = 0; i < a1.length; i++) {
System.out.print(a[i]);
}//输出:nullnullnullnullnullnullnullnull

System.out.println();
int[] b={1,2,3,4,5,6,7,8};
for (int i = 0; i < b.length; i++) {
System.out.print(b[i]);
}//输出:12345678
}
}
××以上代码可以直接拷过去测试。
**注:由于基本类型在定义时,系统是会给赋默认值的,所以数组a可以输出值。如果是引用类型,则全为null。在定义数组b的同时给他初始化,一组数用{ }包围表示数组,这个定义过程是这样的:先创建了一个数组,数组内容是大括号里的内容,然后吧这个数组赋给了b。
解释两个概念:引用类型和基本类型。简单说基本类型有八个(boolean,byte,char,short,int,long,float,double),其余的都是引用类型。
dongwenkai1
2012-10-30 · 超过15用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:49.3万
展开全部
两个只是表现形式不一样。
第一个是只初始化了数组长度为8
第二个是初始化数组长度,并针对每个元素进行初始化
例如:
int 类型默认值为0
第一个数组 a[0]=0,a[1]=0 .... a[7]=0
第二个数组 a[0]=1,a[1]=2 .... a[7]=8

你可以循环这两个数组输出出来,看见效果就明白了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
As建
2012-10-30 · TA获得超过192个赞
知道答主
回答量:64
采纳率:0%
帮助的人:47.6万
展开全部
前一个是数组的初始化,此时为数组的元素分配相应的存储空间,如果数组元素是int类型,其默认初始化的值是0。
后一个也是数组的初始化并赋值,此时没有采用默认的初始化赋值,而是指定了每个元素的值。
如果要仅仅创建数组应该是 int [] array= null; 这样就创建了一个数组,此时并没有为数组分配存储空间,所以不能访问其数组元素。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
电影湖
2012-10-30 · TA获得超过456个赞
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:63.9万
展开全部
int[] a=new int[]{1,2,,3,4,5,6,7,8}是直接给数组赋值了。
int[] a=new int[8]是初始化数组,如果不给它赋值,数组中的值默认为0。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
油菜花零
2012-10-30 · TA获得超过881个赞
知道小有建树答主
回答量:501
采纳率:50%
帮助的人:334万
展开全部
数组的创建只是申请了一个地址空间。初始化就是把内存分配过来了,并且内存里面有数据
追问
int[] a=new int[8];和int[] a=new {1,2,3,4,5,6,7,8,};
是数组创建还是初始化啊?
int[] a=new int[8];只能表示创建的数组a长度是8啊
追答
int [] a;这样的形式是变量申明但没有申请空间
int[] a=new int[8]是申明了变量并且申请了空间

int [] a = new {1,2,3,4,5,6,7,8,};是初始化,即申明变量,申请空间,并给申请到的内存空间赋值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式