回顾
一、java中通过变量将程序的数据存储到计算机系统中。但是一个变量只能存储一个数据,但是数组能存储多个数据。
二、数组是一种能存储多个相同数据类型的变量。
三、数组的使用
1.数组的声明:String []arrNames; 数组元素变量类型 []数组名;
2.分配空间:arrNames = new String[30]; 凡是new出来的东西都在堆当中。且所有变量的地址连续
3.给数组赋值:arrNames[0] = "内马尔"
4.使用数组
四、数组的存储原理
1.数组的空间是连续的
2.数组的第一个元素的下标是0
3.数组的最后一个元素空间的下标+1=数组的长度
4.数组一旦分配内存空间,即每个内存单元内都存在数组元素变量类型的初始值。
String等引用类型的初始值为NULL
byte初始值为0
short初始值为0
int初始值为0
long初始值为0L
float初始值为0.0f
double初始值为0.0d
boolean初始值为false
char初始值为
五、数组使用的简化步骤
1.数组的声明的两张方式:
String []names;
String names[];
2.声明和分配空间合并:
A步:String []names;
B步:names = new String[5];
两步合并
String []names = new String[5];
3.声明、分配空间、赋值合并:
itn []nums = new int[]{1,2,3,4,5};
itn []nums = {1,2,3,4,5};
六、增强型for循环(For-Each)
System.out.println("=======增强for循环=======");
for(String names:arrNames) {
System.out.println(names);
}
for(数组元素变量类型 临时变量:数组名){
System.out.println(临时变量);
}
七、数组的动态初始化
public static void main(String[] args) {
//实例化键盘扫描对象
Scanner scan = new Scanner(System.in);
//声明数组存储班级和学生成绩
String []stuName;
int []stuScore;
//录入学生人数,动态分配空间
System.out.print("请输入班级人数:");
int num = scan.nextInt();
//分配空间
stuName = new String[num];
stuScore = new int[num];
System.out.println("====开始录入学生姓名和成绩====");
//动态录入成绩
for(int i = 0;i<stuName.length;i++) {
System.out.print("请录入第"+(i+1)+"个学生的姓名:");
stuName[i] = scan.next();
System.out.print("请录入第"+(i+1)+"个学生的成绩:");
stuScore[i] = scan.nextInt();
}
//输出所有学生的姓名和成绩
System.out.println("=====学生成绩列表=====");
for(int i = 0;i<stuName.length;i++) {
System.out.println(stuName[i]+"的成绩:"+stuScore[i]);
}
结果:
====开始录入学生姓名和成绩====
请录入第1个学生的姓名:内马尔
请录入第1个学生的成绩:23
请录入第2个学生的姓名:梅西
请录入第2个学生的成绩:36
=====学生成绩列表=====
内马尔的成绩:23
梅西的成绩:36
八、数组的内存示意图