基本内容
- 数组的概念
- 数组的定义格式
- 动态初始化
- 静态初始化
- 数组遍历
- 数组获取最值
- 数组元素逆序
- 数组元素查找
- 二维数组概述
正文
数组
数组用来将相同数据类型存储于单元里,数据的所有元素必须属于相同的数据类型。数组是存储同一种数据类型数据的集合,可以看成一个容器。
数组既可以储存基本数据类型,也可以存储引用数据类型。
1.数组的类型-一维数组
声明方式:类型 数组名[] 或者类型[] 数组名;
2.数组的初始化
java中的数组必须初始化,然后才能使用
所为初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值
Java中可以使用关键字 new 创建数组对象,完成静态初始化和动态初始化
2.1动态初始化
定义:初始化只指定数组长度,由系统为数组分配初始值
格式:数据类型[] 数组名 = new 数据类型[数组长度];
举例:int [] arr = new int[6]; 长度为固定的
2.2静态初始化
定义:初始化时指定每个数组元素的初始值,由系统决定数组长度
格式:数据类型[] 数组名 = new 数组类型[] { 元素1 元素2 … }
举例:int [] arr = new int [] {1,2,3} 数组的内容为固定的
3.数组常见问题
数组索引越界
ArrayIndexOutOfBoundsException :访问到了数组中的不存在的索引时发生
空指针异常
NullPointerException :数组引用没有指向实体,却在操作实体中的元素
4.数组获取最值
public class ArrayDemo05 {
public static void main(String[] args) {
int[] arr = { 4, 1, 6, 3, 9, 8 }; // 定义一个数组
int max = arr[0]; // 定义变量max用于记住最大数,首先假设第一个元素为最大值
// 下面通过一个for循环遍历数组中的元素
for (int x = 1; x < arr.length; x++) {
if (arr[x] > max) { // 比较 arr[x]的值是否大于max
max = arr[x]; // 条件成立,将arr[x]的值赋给max
}
}
System.out.println(“max=” + max); // 打印最大值
}
}
5.冒泡排序
定义:我们的数组常常是无序的,如何对数组排序也是我们必须要掌握的。
代码架构
for(i = 0;i<N-1;i++){
for(j=0;j=N-1-i;j++){ //N为数组的长度
//比较j与j+1位置的元素
//如果前大后小就交换
}
}
6.数组-多维数组
格式1:int [][] arr = new Int [3][2];
格式2:int [][] arr = new int [3][];
格式3:int [][] arr= new int[][]{{},{},{}};
第一个[]表示有几个一维数组 第二个[]表示一维数组内长度是多少。