数组
概述
- 1.数组(Array),是多个相同类型数据按一定顺序排列的集合,使用一个名字命名,并通过编号的方式 对这些数据进行统一管理。
- 2.组成:数组名、下标(索引)、元素、数组长度
- 3.数组本身是引用数据类型,数组的元素可以是任何数据类型。
- 4.数组长度一旦确定就无法更改。
- 5.下标从0开始。
一维数组
一、声明
数组类型 数组名称[ ];
数组类型[ ] 数组名称;
二、初始化(静态初始化和动态初始化)
静态初始化:在声明数组时就为数组元素分配空间并赋值
例:
int a[] = new int[] {1,2,3};
int a1[] = {1,2,3};
int[] a2 = {1,2,3};
动态初始化:数组声明和对数组元素分配空间、赋值的操作分开
int a[] = new int [3];
a[1] = 1;
a[2] = 2;
a[3] = 3;
int a5[];
a5 = new int[1];
a5[0] = 2;
还可以动态分配:
int i = 12;
int[] myInt = new int[i];
定义并用运算符new为之分配空间后,才可以引用数组中的每个元素;
数组元素的默认初始化值:
>数组元素是整型:0
>数组元素是浮点型:0.0
>数组元素是char型:0或'\u0000'
>数组元素是boolean型:false
>数组元素是引用数据类型:null
每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的长度(元素个数)
三、二维数组
声明和初始化
int[][] arr1 = new int[][]{{1,2,3},{4,5},{6,7,8}};//静态初始化
String[][] arr2 = new String[3][2];//动态初始化
String[][] arr3 = new String[3][];//动态初始化
int[] arr4[] = new int[][]{{1,2,3},{4,5},{6,7,8}};
int[] arr5[] = {{1},{2}};
二维数组的本质就是一个一维数组的元素也是一个一维数组
多维数组也是如此
四、 Arrays工具类
1 boolean equals(int[] a,int[] b) 判断两个数组是否相等。
2 String toString(int[] a) 输出数组信息。
3 void fill(int[] a,int val) 将指定值填充到数组之中。
4 void sort(int[] a) 对数组进行排序。
5 int binarySearch(int[] a,int key) 对排序后的数组进行二分法检索指定的值。