数组
数组:相同类型的数据的有序集合,每个数据为一个数组元素,通过下标来访问。
//声明数组变量语法
//声明数组方式一:dataType[] arrayRefVar;(首选)
//声明数组方式二:dataType arrayRefVar[];
int[] nums;
int nums[];
//Java语言使用new操作符来创建数组,语法:
dataType[] arrayRefVar = new dataType[arraySize]
nums = new int[5];
//静态初始化:创建+赋值
int[] num1={1,2,3};
//动态初始化
int[] num2 = new int[6];
nums2[0]=1;
//增强型for循环,但不方便用下标取对应数组元素
for(int x:nums1){
}
说明:1)数组的长度是确定的,数组一旦被创建,大小就不可改变;
2)元素必须是相同类型,不允许出现混合类型;
3)数组元素可以是任意类型,包括基本类型和引用类型;
4)数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。声明数组的时候数组并不存在,栈空间中新增变量;用new关键字创建数组的时候,才会在堆中分配空间。数组对象本身是存在堆中的。且一旦分配空间后,数组中每个元素都会被隐式初始化。
数组边界:下标的合法区间[0,length-1]
多维数组:元素为数组,最简单的二维数组:int[] [] [][] num =new int[] [];
//[4][2]
int[][] array ={{1,2}{3,3}{2,4}{6,6}}
//打印数组
for(int i=0;i<array.length;i++){
for(int j=0;j<array[i].length;j++){
System.out.println(array[i][j]);
}
}
冒泡排序:
稀疏数组:党一个数组中大部分元素为0或者为同一值的数组时,可以使用稀疏数组来保存该数组。处理方式: 记录数组一共有几行几列,有多少不同值;把具有不同值的元素和行列及值记录在一个小规模的数组中,达到压缩数据的目的。