### 数组

数组

数组的定义

数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先 后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标) 来访问它们。数组的四个基本特点:

  • 长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
  • 其元素的类型必须是相同类型,不允许出现混合类型。
  • .数组类型可以是任何数据类型,包括基本类型和引用类型。
  • 数组变量属于引用类型,数组也是对象。

一维数组

  • 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])
}
}

posted @ 2024-08-02 09:28  坤坤真爱粉  阅读(9)  评论(0)    收藏  举报