数组
数组是相同类型数据的有序集合。
数组的基本特点
1.长度是确定的。数组一旦被创建,他的大小就是不可以改变的。
2.在内存中分配连续的空间,每个元素占用的空间大小是相同的。
3.同一个数组其元素的类型必须是相同数据类型,不允许出现混合类型。
4.数据类型可以是任何数据类型,包括基本类型和引用类型。
5.数组变量属于引用数据类型
数组的声明
type[ ] arr_name; //方式一(推荐使用这种方式)
type arr_name[ ]; //方式二
数组的初始化
静态初始化
int [] scoreArr = new int []{10,20,30,70,60,79,45,34,23,100};
int [] scoreArr ={10,20,30,70,60,79,45,34,23,100};
int [] scoreArr = new int [10]{10,20,30,70,60,79,45,34,23,100};//该方式是错误的
默认初始化
int a2[ ] = new int[2]; // 默认值:0,0
boolean[ ] b = new boolean[2]; // 默认值:false,false
String[ ] s = new String[2]; // 默认值:null, null
动态初始化
int [] scoreArr = new int[10];
scoreArr[0] = 56;
scoreArr[1] = 78;
scoreArr[9] = 100;
数组的遍历
JDK1.5提供了增强的for循环功能,可以简化遍历数组的操作,但是不能进行和索引相关的操作,遍历数组过程中不能修改数组中某元素的值。功能其实没有增加
for循环遍历数组
public class Test3 {
public static void main(String[] args) {
int[] arr ={5,4,3,1,9,2,7,8,0,6};
/*普通for循环遍历数组*/
for (int i = 0; i <arr.length ; i++) {
System.out.println(arr[i]);
}
}
foreach循环遍历数组
public static void main(String[] args) {
String[] arr={"asdf","qwer","zxcv","abcd"};
double[] darr={10.1,2.3,5.6,3.8,4.7};
// 1.5 增强型for循环 foreach循环
for(String str:arr){
System.out.println(str);
}
for(double dou:darr){
System.out.println(dou);
}
}
}
普通for循环:清晰 可以得到每一次的下标
增强for循环:书写简单,这种方式没有办法使用下标获得值