——数组
数组可以看成是多个相同数据类型数据的组合,对这些数据的统一管理。
数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。
数组中的元素可以是任何类型,包括基本类型和引用类型。
数组存放同一类类型的容器
数组存在一维数组和二维数组和多维数组。
——数组的定义格式
格式1:数据类型[] 数组名;
格式2:数据类型 数组名[];//忘了吧
例如:int[] iArray、int iArray[]
注意:这两种定义做完了,数组中是没有元素值的。
针对数组定义两种格式,推荐使用第一种格式。
——数组的初始化
Java中的数组必须先初始化,然后才能使用。
所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。
数组的初始化方式
动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。
静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度。
——动态初始化
初始化时只指定数组长度,由系统为数组分配初始值。
格式:数据类型[] 数组名= new 数据类型[数组长度]
举例:int[] arr = new int[3];
数组长度其实就是数组中元素的个数。
——静态初始化
初始化时指定每个数组元素的初始值,由系统决定数组长度。
格式:数据类型[] 数组名= new 数据类型[]{元素1,元素2,…};
举例:int[] arr = new int[]{1,2,3};
其实这种写法还有一个简化的写法:int[] arr ={1,2,3};
两个常见的异常:
ArrayIndexOutOfBoundsException:访问到了数组中的不存在的索引时发生。
NullPointerException:数组引用没有指向实体,却在操作实体中的元素时
理解冒泡排序:
数组的遍历,复制
打印99乘法表,直角三角形,等腰三角形,杨辉三角
Arrays.sort();
Arrays.toString();
——二维数组
我们学校的每个班有很多个学生,所以,可以用数组来存储,而我们又同时有很多个班。这个也应该用一个数组来存储。如何来表示这样的数据呢?Java就提供了二维数组供我们使用。
直观一些,其实二维数组其实就是一个元素为一维数组的数组。
——二维数组定义格式
数据类型[][] 变量名= new 数据类型[m][n];
m表示这个二维数组有多少个一维数组;
n表示每一个一维数组的元素个数
举例:
int[][]arr = new int[3][2];
定义了一个二维数组arr,这个二维数组有3个一维数组,名称是arr[0],arr[1],arr[2],每个一维数组有2个元素,可以通过arr[m][n]来获取,表示获取第m+1个一维数组的第n+1个元素。
数据类型[][] 变量名= new 数据类型[m][];
m表示这个二维数组有多少个一维数组,这一次没有直接给出一维数组的元素个数,可以动态的给出。
举例:
int[][] arr = newint[3][];
arr[0] = newint[2];
arr[1] = new int[3]
arr[2] = newint[1];
数据类型[][] 变量名= new 数据类型[][]{{元素…},{元素…},{元素…}}
简化版格式:
数据类型[][] 变量名= {{元素…},{元素…},{元素…}};
举例:
int[][] arr = {{1,2,3},{4,6},{6}};