一、java的数组声明方式:
有2种,
int[] a;
int a[];
int[] a = new int[100];
程序员喜欢第一种方式,因为类型int与变量名分开了。
二、初始化
int[] smallPrime = {2,3,4,5,7,88} 这种语句不需要使用 “new”
还有一种匿名声明方式
new int[] {12,34,55,77,57,86}
匿名方式用于从新给数组赋值。
smallPrime = new int{44,32,54,65,67}
三、数组下标
这个数组的下标是从(0--99),而不是从(1--100)
比如给数组赋值
int[] a = new int[100];
for(i=0;i<100;i++){
a[i] = i; // fills the array with 0 to 99
}
四、遍历数组:
有两种:
for(int i <0;i<a.length;i++){
System.out.println(a[i]);
}
java5以后添加了一种新的方式
for(int elemnet:a){
System.out.println(element);
}
第二种方式举例,第二种方式最让人喜欢,更简洁,更不易出错,不必为下标的起始值与终止值而操心
for(int i : a){
System.out.println(i)
}
五、数组拷贝
拷贝是指两个变量同时引用一个数组,就是拷贝的数组在内存的指针。
int[] smallPrimes = {2,3,5,7,11,13}
int luckyNumber = smallPrimes;
luckyNumber[5] = 12; //这个时候,之前的smallPrimes的第6个元素也是12. smallPrimes[5] = 12
如果需要把数组中的所有值都拷贝到一个新的数组中,需要使用 Arrarys.copyTo
int[] copiedLuckyNumbers = Arrays.copyTo(luckyNumbers,luckyNumbers.length);
这个方法还常常用于扩展数组,
int[] copiedLuckyNumbers = Arrays.copyTo(luckNumbers.2*luckNumbers.length);
多出来的元素,如果是int,则填充为0,如果是布尔,则为false,如果小于原始数组,则只拷贝前面的元素