1. 数组的概念
有类型相同的元素组成的有顺序的数据集合
数组特征:
Ø 数组是一个容器,可以存放多个值
Ø 存放的多个值数据类型必须相同
Ø 容器的大小是固定(数组的大小是固定)
Ø 数组里面存放的数据是有顺序。
2. 数组的声明和初始化(这个容器如何使用?)
Ø 数组的分类:
一维数组和多维数组(二维数组)
Ø 一维数组如何使用?
A. 数组如何声明?
语法格式
数组元素的类型[] 数组名;
或者是 数组元素的类型 数组名[];
B. 如何给数组创建内存空间?
静态初始化
和动态初始化
//静态的初始化
int[] intArray01 = {1,2,3};
//动态初始化
int[] intArray02= new int[3];
//初始化:通过数组名[下标]这种方式来访问数组元素。数组的下标从0开始。
intArray02[0]=1;
intArray02[1]=2;
intArray02[2]=3;
int[] intArray03 = new int[]{1,2,3};
C. 数组的使用?
往数组中放置信息;从数组中获取信息,这两个常见的操作。
//从intArray01获取存放的所有信息,并打印输出
System.out.println(intArray01[0]+","+intArray01[1]+","+intArray01[2]);
//另一种方式:循环遍历
for(int i=0;i<intArray01.length;i++){
System.out.println(intArray01[i]);
}
//还有一种方式:增强的for循环
/*
* for(数据类型变量:数组名){
* 循环体
* }
*/
for(int temp:intArray01){
System.out.println(temp);
}
以上所举案例,数组中存放的都是基本数据类型的信息。数组中除了可以存放基本的数据类型,还可以存放引用类型的数据。
//定义一个一维数组,用数组来存放一组学生信息。(数组中存放的是引用类型)
第一步,创建学生类,利用学生类来创建相应的学生对象,然后把学生对象存储到数组中。
//第二步,创建数组,一维数组
Student[] studentsArray = new Student[3];
//第三步:创建学生对象,并放置到数组中
Student s1 = new Student();
s1.setSno("001");
s1.setSname("张三");
s1.setSage(20);
Student s2 = new Student();
s2.setSno("002");
s2.setSname("张三2");
s2.setSage(21);
Student s3 = new Student();
s3.setSno("003");
s3.setSname("张三3");
s3.setSage(22);
studentsArray[0]=s1;
studentsArray[1]=s2;
studentsArray[2]=s3;
//从数组中获取学生信息,(获取存储的学生的姓名)
for(Student s:studentsArray){
System.out.println(s.getSname());
}
Ø 二维数组:一维数组里面存放的是一维数组的信息。
A. 二维数组的声明:
数据类型[][] 数组名;或者是数据类型 数组名[][]
B. 二维数组初始化
静态初始化
动态初始化
//二维数组静态初始化
int[][] arrayDemo01 ={{1},{1,2},{3,4}};
//二维数组动态初始化
int[][] arrayDemo02 = new int[2][];
//int[][] arrayDemo02 = new int[][2];不能如此定义二维数组的长度。
arrayDemo02[0] = new int[2];
arrayDemo02[0][0]=1;
arrayDemo02[0][1]=2;
arrayDemo02[1] = new int[3];
arrayDemo02[1][0]=3;
arrayDemo02[1][1]=4;
arrayDemo02[1][2]=5;
//二维数组如何使用?
//遍历arrayDemo02该数组、
for(int i=0;i<arrayDemo02.length;i++){
for(int j=0;j<arrayDemo02[i].length;j++){
System.out.println(arrayDemo02[i][j]);