1.数组的定义与创建
数组:由多个相同数据类型的数组成
数组元素:数组中的每一个数据,访问采用下标,下标从0开始到数组长度-1
数组长度:属性length获取
(1)声明数组: 数据类型 变量名[]
数据类型 []变量名
数据类型:8中基本数据类型 byte short int long
float double char boolean
引用数据类型 数组,类class (String ),接口
(2)定义/初始化: 类型 变量名=值
数组类型 数组名[]=new 数组类型[数组长度]
int arrs[]=new int[5]
arrs[0]=12
arrs[1]=13
arrs[3]=10
创建时初始化
数组类型 数组名[]={元素1,元素2...元素n}
数组类型 数组名[]=new 数组类型[]{元素1,元素2...元素}
(3)java的内存模型
栈stack:存储局部变量,先进后出,一般数据长度有限的
堆heap:存储成员属性,数据长度不确定,数据复杂
new后变量都会在堆中分配内存
(4)数组遍历、访问
int a[]={12,45,3,4,-12,23,45,67,78};
a[0] …a[8]
for(int i=0;i<a.length;i++){
a[i]
}
2)foreach遍历 增强for(只能遍历,不能给赋值)
for( 元素:引用名){}
for(int x:a){ //元素:数组
System.out.println(x);
}
1.练习:用户输入学生数量,创建数组用于存放学生姓名,
录入完所有姓名后,提示用户是否访问所有学生,1为是,0为否
当输入1时,显示所有学生姓名
2.练习:依次输入10个学生的成绩,找出平均分,最高分,最低分,以及对应学生编号,
(学生编号由s+序号组成,例如 s1,s10)
(5)数组中异常 :访问不存在的元素, 运行时报异常
ArrayIndexOutOfBoundsException
2.二维数组: 数组中的元素是数组
遍历:循环嵌套
for(int i=0; i<array.length;i++){ //二维数组
for(int j=0; j<array[i].length;j++){ //一维
//一维中元素array[i][j]
}
}
for(数组类型 变量名1[]:array){
for(数组类型 变量名2:变量名1){
//变量名2
}
}