java 数组创建问题

一般在JAVA中创建数组有两种方式(1)静态创建 如String[] array = {"a", "b", "c"}; (2)动态创建 如String[] array = new String[] {"a", "b", "c"};或String[] array = new String[3];(先确认元素个数) 书上说JAVA数组只能动态创创建且动态分配空间 怎么理解??

你好,提问者:

    æ•°ç»„初始化创建有四种方式:

    String[] arr1 = {"a","b","c"};  // 1
    
    String[] arr2 = new String[3];  // 2
    arr2[1] = "a";
    arr2[2] = "b";
    arr2[3] = "c";
    
    String[] arr3 = new String[]{"a","b","c"}  // 3
    
    String[] arr4 = null;  // 4
    arr4 = new String[3];
    arr4[1] = "a";
    arr4[2] = "b";
    arr4[3] = "c";

     å› ä¸ºæ•°ç»„初始化要使用的时候必须确定数组的长度,也就是说数组的长度是不可变的。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-12
动态初始化:数组定义与为数组分配空间和赋值的操作分开进行
如:
int intArray[];
声明了一个整型数组,数组中的每个元素为整型数据。与C、C++不同,Java在数组的定义中并不为数组元素分配内存,因此[]中不用指出数组中元素个数,即数组长度,而且对于如上定义的一个数组是不能访问它的任何元素的。我们必须为它分配内存空间,这时要用到运算符new,其格式如下:

arrayName=new type[arraySize];

其中,arraySize指明数组的长度。如:

intArray=new int[3];

为一个整型数组分配3个int型整数所占据的内存空间。

通常,这两部分可以合在一起,格式如下:

type arrayName=new type[arraySize];

例如:

int intArray=new int[3];
第2个回答  2014-03-12
描述有问题,既然说了只能“动态创建”,那么怎么又写个“(1)静态创建 如String[] array = {"a", "b", "c"};”?
建议你到网上找找别的介绍JAVA数组的内容。
相似回答