### 数组
数组
数组的定义
数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先 后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标) 来访问它们。数组的四个基本特点:
- 长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
- 其元素的类型必须是相同类型,不允许出现混合类型。
- .数组类型可以是任何数据类型,包括基本类型和引用类型。
- 数组变量属于引用类型,数组也是对象。
一维数组
- int [] array = new int []{}
- int [] array = new int []
数组的遍历
public class TestArray {
public static void main(String[] args) {
int[] arr ={11,22,33,44,99,34,25,787,34,909};
//数组名.Length
System.out.println("arr数组中元素的个数为:" + arr.length);
for (int i = 0; i< arr.length; i++) {
//i : 0 1 2 3 4
System.out.println(arr[i]);
}
}
}
数组的算法
基本介绍
-
冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,
若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。 -
优化:因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,就说明序列有序,因此要在
排序过程中设置一个标志 flag 判断元素是否进行过交换。从而减少不必要的比较。
代码编写
public class BubbleSort {
public static void bubbleSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n; i++) {
// 每轮遍历将最大的数移到末尾
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
public static void main(String[] args) {
int[] arr = {64, 34, 25, 12, 22, 11, 90};
bubbleSort(arr);
System.out.println(Arrays.toString(arr)); // [11, 12, 22, 25, 34, 64, 90]
}
}
多维数组
多维数组的定义
- 数组元素的数据类型[] 数组名 = new 数组元素的数据类型[数组的容量/长度/元素个数];
- 数组元素的数据类型[] 数组名 = {元素值1,元素值2,..};
- 数组元素的数据类型[] 数组名 = new 数组元素的数据类型[]{元素值1,元素值2,..};
多维数组的遍历
// 存储3个班各5名同学成绩
double[][] scores = new double[3][5];
for (int i = 0; i < scores.length; i++){
System.out.println(i+1);
for (int j = 0; j < scores[i].length; j++){
System.out.println((i+1) + (j+1));
}
}
// 遍历
for (int i = 0; i < scores.length; i++){
System.out.println(i+1)
for (int j = 0; j < scores[i].length; j++){
System.out.println(scores[i][j])
}
}

浙公网安备 33010602011771号