java基础之挖坑(1.3)--数组
1.数组概念
数组是存储多个变量(元素)的东西(容器)
这多个变量的数据类型要一致
数组既可以存储基本数据类型,也可以存储引用数据类型。
2.数据的定义
定义格式:
A:数据类型[] 数组名;
B:数据类型 数组名[];
举例:
A:int[] a; 定义一个int类型的数组,数组名是a。
B:int a[]; 定义一个int类型的变量,变量名是a数组。
3.数组初始化
Java中的数组必须先初始化,然后才能使用。
所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。
a:动态初始化 只指定长度,由系统给出初始化值 int[] arr = new int[3];
b:静态初始化 给出初始化值,由系统决定长度 int[] arr = new int[]{1,2,3}; 简化后:int[] arr = {1,2,3};
4.JVM内存划分
5.数组排序
1.交换排序方法
for (int i = 0; i < nums.Length - 1; i++){
//在 i-(nums.Length-1) 范围内,将该范围内最小的数字提到i
for (int j = i + 1; j < nums.Length; j++) {
if (nums[i] > nums[j]) {
//交换
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
}
2.冒泡排序
for (int i = nums.Length - 1; i > 0; i--){
//在 0-i 范围内,将该范围内最大的数字沉到i
for (int j = 0; j < i; j++) {
if (nums[j] > nums[j+1]) {
//交换
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
6.数组反转
public static void reverse(int[] arr) {
for(int startIndex=0,endIndex=arr.length-1;startIndex<=endIndex;startIndex++,endIndex--)
{
int temp = arr[startIndex];
arr[startIndex] = arr[endIndex];
arr[endIndex] = temp;
}
}
7.二维数组的遍历
for(int y=0; y<arr.length; y++) {
for (int x = 0; x < arr[y].length; x++) {
System.out.print(arr[y][x] + " ");
}
System.out.println();
}