java数组初始化这么写就不行吗 ?

[code="java"]
//静态初始化
int[] a;
a={1,2,3,4,5}; //报错,这么写有什么问题啊?
int[] z = {1,2,3,4,5};//一定要写在一行 定义同时初始化吗

[/code]

jjjssh 你真能装,人家 连定义数组都搞不清楚呢,你给他讲内存,你在顺便给他讲讲堆,栈,在给他讲讲硬盘原理,内存和硬盘的工作流吧?

是的定义的时候必须给初值你可以这样写:

int [] a = {};

给某个数组初始化,这个数组好像一定得要知道大小,要不就有可能造成数组越界。

定义和初始化也可以不在一起啊,比如:
[code="java"]int a[];
int b[]={1,2,3};
a=b;[/code]

你这不是鸡蛋里面挑骨头吗?
那 int [] a;
更不用给赋值了 代码还少呢

同问 希望有高手来彻底解决这个问题

定义是还没分配内存空间的,只有初始化了才能能到内存空间
int[] a;

a = new int[5];//初始化方式一

a = new int[]{1,2,3,4,5};//初始化方式二

已经给a给予了内存空间,然后内存空间里面在放有值。
而你的
int []a;//还没得到内存空间
a={1,12,1,2};//内存空间都没有,你又怎么能往不存在的内存空间放值呢。
后面的{1,23,2,3}只是值,并不是申请内存空间

哦 我看错了,没有看到他补充的问题,不好意思啊! 你讲的都对!