1、为什么需要数组?
当需要使用多个变量的时候,不方便,比如一个班级所有同学的名字,使用数组来简化我们开发
2、数组:用来保存一组相同类型的数据(变量),内存中是一段连续的存储空间
变量:内存中一块独立存储空间
数组可以包含多个变量
3、数组定义和创建:
数组是引用类型
格式:数据类型[] 数组名=new 数据类型[元素个数]
元素:数组中的变量
创建数组:必须要指明元素的个数
int[] ary1=new int[5];
格式2:不推荐
数据类型 数组名[]=new 数据类型[元素个数]
eg:int ary1[]=new int[5];
4、如何区分数组中每个元素?
下标:利用下标值才区分每个元素
下标从0开始
数组名[下标值]
eg:ary1第1个元素—ary1[0]
ary1最后一个元素—ary[4]
ArrayIndexOutOfBoundsException:数组下标超过边界,简称数组下标越界
public class Test1 { public static void main(String[] args) { // 数组元素的默认值:整数、浮点、布尔、String //整型数组元素的默认值0 int[] aryInt=new int[5]; System.out.println(aryInt[0]); //浮点数组元素的默认值0.0 float[] aryFloat=new float[5]; System.out.println(aryFloat[0]); //boolean型数组元素的默认值false boolean[] aryBoolean=new boolean[5]; System.out.println(aryBoolean[0]); //null:空,没有值,一般用来指代引用类型对象没有值 //String默认值是null String[] aryString=new String[5]; System.out.println(aryString[0]); } }
输出结果:
0
0.0
false
null
5、数组的遍历:逐个访问数组中的元素
访问:1.获取值 2.设置值
int[] ary=new int[5];
ary[0]=12;//设置值
System.out.println(ary [0]);//获取值
当数组元素很多的时候,可以跟for循环结合使用
数组元素的下标可以作为控制循环次数的变量i
一般格式:
for(int i=0;i<数组元素的个数;i++){
访问ary[i];
}
public class Test1 { public static void main(String[] args) { int[] arys=new int[5]; //数组元素的个数:数组名.length(数组的长度) for(int i=0;i<arys.length;i++) { arys[i]=i+1; System.out.println(arys[i]); } } }
for-each遍历,jdk 1.5才有的
主要针对数组等遍历
格式:for(数据类型 变量名:数组名字){
变量名;
}
用变量来指代数组中每个元素
仅仅用于显示数组中的元素
public class Test1 { public static void main(String[] args) { int[] arys=new int[10]; for(int i=0;i<arys.length;i++) { arys[i]=i+1; } for(int ary:arys){//ary:指代arys中每一个数组元素值 System.out.print(ary);//只能显示 } } }
6、数组的初始化:创建数组的同时,给数组元素赋值
静态初始化:
数据类型[] 数组名={元素1,元素2,元素3,…};
有多少个元素值,就表示该数组有多少个元素
eg:char[] c={‘a’,’b’,’c’};
动态初始化:
数据类型[] 数组名=new 数据类型[]{元素值1,元素值2…}
eg:char[] c=new char[]{‘a’,’b’,’c’};