它说那个定义是不是专指int[] a; ??
你赋初值不算?
你赋初值不算?
解决方案 »
- 路径问题,我写了个COPY方法,要把一个文件复制到工程下的一个自定义文件夹用"./swatch/AddFileJar"不行我该怎么解决?
- 对象流阻塞问题,帮帮忙
- socket的问题,为什么服务器端没有发消息,客户端就不能给客户端发消息呢?
- 关于random
- 怎样用Java开发界面,C++开发驱动?
- 请问.iws是什么文件啊?
- 马上给分。out.print("\3"); "\3"是什么意思,在vb里怎么输出?
- 在哪能下载有关java方面的免费书籍(最好有中英文对照版本),谢谢!
- 读取二进制文件后如何将它转换成一个Jfreechart折线图呢,急求
- 二分法查找排序代码详解
- JAVA源文件如何实现与编译后的类文件分开存储?(在线等待急急急)
- 关于JScrollPane的问题
我赋初值也可以啊 int[] a = new int[]{1,2,3}
这句话错了 ;)
上面的算是可以指定数组的大小,int[] a = new int[10];
a = new int[30];
这样的话是不是可以说数组的大小可以随意更改?
那数组申明是什么呢.
你的第二个只是改了句柄,不能说改变原来数组的大小吧。
System.out.println(a.length());a = new int[20];
System.out.println(a.length());
你打出来看看。
int[] a; ----这叫声明或者定义
new int[10]; ----这叫实例化我觉得数组也可以看做对象,看一下这个代码
public static void process(Object object)
{
...
}
public static void main(String[] args)
{
int[] a = new int[10];
process(a); // 大家说编译是否能通过?
}
偶都特奇怪~
ps: polosheng,你还有个老师教,俺那老师,没一个知道JAVA~
另外你的process我通过了啊,很正常啊。这跟我的那个又什么关系呢?
你们老师、书上说的对的!只不过他得解释一下!
我们只能在实例化时指定一个数组的大小!int[] a; ----这叫声明或者定义,你不能写做int[10] a,或int a[10];
说定义了一个大小为10的数组,JAVA中是不合法的!new int[10]; ----这叫实例化,此时指定数组的大小,元素个数是10!我们生成数组有两个做法!1:先定义或叫声明,再分配内存空间或初始化!
int a[];
a=new int[10];//那么数组a中有10个元素,此时a的大小刚确定!
2:定义和分配内存空间(初始化)同时进行!
int a[]=new int[10];//同时进行了!
int a[]={10,11,12,13};
定义数组时,java不允许这样来定义:int a[10];
但它允许这样来操作:定义并初始化:int[] a = new int[10];
另外,java确实允许你重新初始化已定义的数组变量的大小,接上例: a = new int[20];
所以,我觉得我们确实不知道所定义的一个数组变量有多大,只是在用的时候做适当的初始化。
zhjjava解释得比我清楚,请教啦。
我一开始也想是不是definition of 定义搞错了,再次感谢。
int a[];
a=new int[10];//分配内存空间!可以!
a=new int[20]; //重新分配内存空间!可以!
定义数组和重新分配空间是两码事!
试试下面的代码!class TestArray{
public static void main(String arg[]){
int a[]=new int[10];
System.out.println(a.length);
a=new int[20];
System.out.println(a.length);
}
}