疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

数组(2)—[疯狂java讲义]


 

定义数组
 
        Java语言支持两种语法格式来定义数组:
        type[] arrayName;
        type arrayName[];
 
        对这两种语法格式而言,通常推荐使用第一种格式。因为第一种格式不仅具有更好的语意,也具有更好的可读性:对于type[] arrayName;方式,很容易理解这是定义一个变量,其中变量名是arrayName,而变量类型是type[],前面已经指出:type[]确实是一种新类型,与type类型完全不同(例如int类型是基本类型,但int[]是引用类型)。因此,这种方式既容易理解,也符合定义变量的语法。
 
        但第二种格式:type arrayName[]的可读性就差了,看起来好像定义了一个类型为type的变量,而变量名是arrayName[],这与真实的含义相去甚远。
 
        可能有些读者非常喜欢type arrayName[];这种定义数组的方式,这可能是因为早期某些计算机读物的误导,从现在开始就不要再使用这种糟糕的方式了。
 
        提示:C#就不再支持type arrayName[]这种语法,它只支持第一种定义数组的语法。越来越多的语言不再支持type arrayName[]这种数组定义语法。
 
        数组是一种引用类型的变量,因此使用它定义一个变量时,仅仅表示定义了一个引用变量(也就是定义了一个指针),这个引用变量还未指向任何有效的内存,因此定义数组时不能指定数组的长度。而且由于定义数组仅仅只是定义了一个引用变量,并未指向任何有效的内存空间,所以还没有内存空间来存储数组元素,因此这个数组也不能使用,只有对数组进行初始化后,才可以使用。
        注意:定义数组时不能指定数组的长度。(摘自[疯狂java讲义])