引入数组的原因:随着程序复杂度的提高,存储【相同类型数据】的数据量变大,简单的变量已经不满足需求。
一,数组:
1.数组声明
数组类型[ ] 数组名;或者( 数组类型 数组名[] ; ) 注:数组类型和[ ]间无空格
2.数组分配空间:
数组名=new 数组类型[空间长度]; 注:可以声明数组的同时分配空间 数组类型[ ] 数组名=new 数组类型[空间长度] 例:int[ ] age=new int[88];
3.数组赋值:
默认赋值:
静态赋值:
适用于已知数组数据,数据较小的情况。
int[ ] age ={ 12,33,55,15,88 }
或
int[ ] ages=new int[ ] {25,35,88}
动态赋值:
适用于为止数组元素的情况
int[] ages=new int[65];
ages[2]=99;//数组下标从0开始,0是1.下标最大取65-1;
4.使用数组:
数组名[下标]
例: 创建一个数组,控制台输入5名学生成绩,然后输出成绩总和,以及平均分。
二,二维数组
引入:
二维数组本质上全部都是一维数组
通过实例学习:
public static void main(String[] args){
//定义一个二维数组:
int[][] arr = new int[3][];//本质上定义了一个一维数组,长度为3
int[] a1 = {1,2,3};
arr[0] = a1;
arr[1] = new int[]{4,5,6,7};
arr[2] = new int[]{9,10};
}
遍历二维数组的方式:
public static void main(String[] args){
//定义一个二维数组:
int[][] arr = new int[3][];//本质上定义了一个一维数组,长度为3
int[] a1 = {1,2,3};
arr[0] = a1;
arr[1] = new int[]{4,5,6,7};
arr[2] = new int[]{9,10};
//读取6这个元素:
//System.out.println(arr[1][2]);
//对二维数组遍历:
//方式1:外层普通for循环+内层普通for循环:
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
//方式2:外层普通for循环+内层增强for循环:
for(int i=0;i<arr.length;i++){
for(int num:arr[i]){
System.out.print(num+"\t");
}
System.out.println();
}
//方式3:外层增强for循环+内层增强for循环:
for(int[] a:arr){
for(int num:a){
System.out.print(num+"\t");
}
System.out.println();
}
//方式4:外层增强for循环+内层普通for循环:
for(int[] a:arr){
for(int i=0;i<a.length;i++){
System.out.print(a[i]+"\t");
}
System.out.println();
}
}
三,增强for循环
1、增强for循环
增强for循环的作用: 简化迭代器的书写格式。(注意:增强for循环的底层还是使用了迭代器遍历。)
增强for循环的适用范围: 如果是实现了Iterable接口的对象或者是数组对象都可以使用增强for循环。
增强for循环的缺点:增强for循环和iterator遍历的效果是一样的,也就说增强for循环的内部也就是调用iteratoer实现的,但是增强for循环有些缺点,例如不能在增强循环里动态的删除集合内容、不能获取下标等。
2、增强for循环的格式:
for(数据类型 变量名 :遍历的目标){
//数据类型 变量名:声明一个变量用来接收遍历目标遍历后的元素
}
3、增强for循环要注意的事项:
增强for循环底层也是使用了迭代器获取的,只不过获取迭代器由jvm完成,不需要我们获取迭代器而已,所以在使用增强for循环变量元素的过程中不准使用集合对象对集合的元素个数进行修改。
迭代器遍历元素与增强for循环变量元素的区别:使用迭代器遍历集合的元素时可以删除集合的元素,而增强for循环变量集合的元素时,不能调用迭代器的remove方法删 除 元素。
普通for循环与增强for循环的区别:普通for循环可以没有遍历的目标,而增强for循环一定要有遍历的目标。
例 : int[ ] arr={1,2,8,9,5 }
普通for循环的遍历方式
for(int i = 0 ; i<arr.length ; i++){ System.out.println("元素:"+ arr[i]);
}
使用增强for循环实现
for(int item :arr){ System.out.println("元素:"+ item);
}