数组概念
Java数组是一种数据结构,用于在计算机内存中连续存储相同类型的数据。数组中的每个元素可以通过索引来访问,索引通常是从0开始的。数组是Java中用于处理集合的基础,它提供了一种方式来存储和操作固定大小的同类型数据项的集合。
一维数组
数组的声明和创建
在Java中,你可以通过以下方式声明和创建数组:
// 声明一个整型数组变量,但没有创建数组
int[] numbers;
// 创建一个长度为5的整型数组,并初始化为0
numbers = new int[5];
// 声明并初始化一个整型数组
int[] anotherNumbers = {1, 2, 3, 4, 5};
// 声明并初始化一个字符串数组
String[] names = {"Alice", "Bob", "Charlie"};
三种格式:
1.(默认初始值)数据类型[ ]数组名 = new 数据类型 [ 数据的个数]
int [ ] money = new int[100];
2.(赋予初始值)数据类型[ ]数组名 = new 数组类型 [ ]{数据1,数据2,数据3,...}
int [ ] money = new int [ ]{ 100,200,300}
3.数据类型 [ ] 数组名 ={数据1,数据2,数据3}
int [ ] money = {100,200,300}
访问数组元素
数组越界 编译不会出错 运行会报错
你可以通过索引来访问数组中的元素,如下所示:
int secondNumber = numbers[1]; // 访问数组中的第二个元素(索引为1)
System.out.println(secondNumber);
遍历数组
你可以使用循环来遍历数组中的所有元素,如下所示:
for (int i = 0; i < numbers.length; i++) {
System.out.println(numbers[i]);
}
或者使用增强的for循环(也称为“for-each”循环):
for (int num : numbers) {
System.out.println(num);
}
注意:在Java中,数组是引用类型,数组变量实际上存储的是对数组对象的引用,而不是数组本身。因此,当你将一个数组变量赋值给另一个数组变量时,你实际上是在复制引用,而不是数组的内容。如果你希望复制数组的内容,你需要手动创建一个新数组,并将原始数组的元素复制到新数组中。
冒泡排序法
注:1.肯定是两个for循环
2.边界值
(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小(或越大)的元素会经由交换慢慢“浮”到数列的顶端。
下面是Java实现冒泡排序的一个基本例子:
public class BubbleSortExample {
public static void main(String[] args) {
int[] arr = {64, 34, 25, 12, 22, 11, 90};
bubbleSort(arr);
System.out.println("Sorted array");
printArray(arr);
}
// 冒泡排序函数
static void bubbleSort(int arr[]) {
int n = arr.length;
for (int i = 0; i < n-1; i++) //两两比较,最后一个是无法比较的 for (int j = 0; j < n-i-1; j++)
if (arr[j] > arr[j+1]) {
// 交换 arr[j+1] 和 arr[j]
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
// 打印数组函数
static void printArray(int arr[]) {
int n = arr.length;
for (int i=0; i < n; ++i)
System.out.print(arr[i] + " ");
System.out.println();
}
}
在这个例子中,bubbleSort
方法接受一个整数数组作为参数,并使用冒泡排序算法对其进行排序。排序过程是通过两层嵌套的for循环实现的,外层循环控制排序的总轮数,内层循环进行实际的比较和交换操作。在内层循环中,如果当前元素比下一个元素大,则交换这两个元素的位置。
printArray
方法用于打印排序后的数组。
需要注意的是,冒泡排序的时间复杂度为O(n^2),在数据规模较大时效率较低,因此它更适用于数据规模较小的情况或作为教学示例。在实际应用中,通常会选择更高效的排序算法,如快速排序、归并排序等。
标签:arr,int,元素,System,数组,排序 From: https://www.cnblogs.com/yangcurry/p/18344535