1.数组(Array)的定义
数组是相同类型数据的有序集合,数组描述的是相同类型的若干个数据,按照一 定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。
(1)数组的特点:1.数组一旦被创建,它的长度是不可更改的。
2.其元素必须是相同类型,不允许出现混合类型。
3.数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。
4.数组是有序的。
(2)length关键字
数组的长度-数组名.length
2.创建数组和初始化
(1) 数组的声明:
数据类型[] 数组名; --> 推荐使用 数据类型 数组名[];
(2)初始化
动态初始化:先创建数组,然后赋值
数据类型[ ] 数组名 = new 数据类型[长度];
(数据类型:数组中存放数据的类型)
注:不同类型的数组每一个空间存在默认值
整数:0 小数:0.0 布尔:false 字符:空字符 引用类型:null
静态初始化:创建数组对象的同时赋值(两种方式)
第一种: 数据类型[ ] 数组名 = new 数据类型[ ]{值1,值2,值3....};
第二种: 数据类型[ ] 数组名 = {值1,值2,值3...};(这种方式只能用在数组初始化时)
//实例代码-数组的创建和初始化
public class Class001_Array {
public static void main(String[] args) {
// 声明
int[] arr1;
double arr2[];
//动态初始化
arr1 = new int[3];
arr2 = new double[5];
//为数组赋值
arr1[0] = 100;
arr1[1] = 101;
arr1[2] = 102;
//获取数组中的数据
System.out.println(arr1[0]);
System.out.println(arr1[1]);
System.out.println(arr1[2]);
//静态初始化
String[] arr3 = new String[]{"张三","李四","王五","赵六"};
System.out.println(arr3[0]);
System.out.println(arr3[1]);
System.out.println(arr3[2]);
System.out.println(arr3[3]);
//System.out.println(arr3[4]);
//也是静态初始化
char[] arr4 = {'a','b','c'};
System.out.println(arr4[0]);
System.out.println(arr4[1]);
System.out.println(arr4[2]);
//length代表的说数组的长度
System.out.println(arr4.length);
/*数组中的最后一个数据*/
System.out.println(arr4[arr4.length-1]);
}
}
3.数组的遍历
1.普通for循环
注:普通循环遍历操作索引,索引控制变化情况
2.增强for循环
格式:for(数据类型i:数组名){
}
每一次循环中,变量i代表数组中的每一个数据(变量名随意起)
注:增强for循环遍历数组,只能从前到后遍历
//实例代码-数组的遍历
public class Class003_Each {
public static void main(String[] args) {
int[] arr = {1,2,3,4};
//普通for循环
//变量控制数组的索引
for(int i=0;i<=arr.length-1;i++){
System.out.println(arr[i]);
}
//增强for循环
for(int i:arr){
System.out.println(i);
}
}
}
4.二维数组(了解)
二维数组的含义就是数组中存放数组 。
(1) 二维数组的声明:
数据类型[][] 数组名; -->推荐 数据类型 数组名[][]; 数据类型[] 数组名[]; 数据类型 [][]数组名;
(2)二维数组的初始化
初始化:
动态初始化 : 先创建数组然后赋值
数据类型[][] 数组名 = new 数据类型[外层的二维的长度][内层的一维的长度];
特点: 内层的每一个一维数组长度相同
数据类型[][] 数组名 = new 数据类型[外层的二维的长度][];
特点: 内层的每一个一维数组没有构建,长度有构建的时候指定
内层的每一个一维数组的创建按照一维数组的创建方式(动态,静态)
静态初始化 : 创建数组的同时赋值
数据类型[][] 数组名 = new 数据类型[][]{{值1,值2,值...},{值1,值2,值...},{值1,值2,值...}....};
数据类型[][] 数组名 = {{值1,值2,值...},{值1,值2,值...},{值1,值2,值...}....};