今天学习了,一位数组和二维数组,先学习了数组的申请,数组的初始化,数组的拷贝等。对于数组我认为,和C\C++中的数组,没有什么太大的区别,但是在JAVA中,大家都知道JAVA是面向对象的编程语言,每一个对象都有其各自的属性,数组就是一个对象,所以他也有很多属性,例如length等,这样再循环中,就可以通过【对象.length】的方式来控制循环,这个就相对于C\C++方便了一下。
话不多说,我们来看代码。
1 //数组的声明 2 //数组的初始化及赋值 3 4 public class test1 5 { 6 public static void main (String [] args) 7 { 8 //声明一个数组 9 int [] arr; 10 11 //为数组在堆中申请空间,在申请空间时,必须指定数组的大小 12 arr = new int[20]; 13 14 //此时,数组中的元素,均为默认值0 15 16 //for(int i=0 ; i<arr.length ; i++) 17 //每一个数组都有一个length属性,用来获取数组的长度 18 //不建议使用上述循环,因为会反复获取数组长度,时间效率低 19 20 for(int i=0,len=arr.length ; i<len ; i++) 21 { 22 //通过数组下标来访问数组中的每一个元素 23 System.out.print(arr[i]+"\t"); 24 } 25 26 System.out.println(); 27 28 //给数组的每一个元素赋值 29 for(int i=0,len=arr.length ; i<len ; i++) 30 { 31 arr[i] = i+1; 32 }
由此,可以看出,数组确实是一个对象,通过在堆中申请空间来存放,可以通过“.”的方式来调用方法。也学会了,在声明数组时,必须指明,申请的空间大小,即元素的个数。如果不进行初始化,则所有的元素都会是默认值,为0,而不会像C\C++那样默认值是随机值。
总结一下,数组的声明是 int [] arr = new int[数组长度] ,数组的初始化是 int [] arr = {1,2,3,4,5},而不是 int [] arr = new int {1,2,3,4,5} 。