java 数组
2022-01-16 本文已影响0人
暴躁程序员
java数组:相同类型数据的有序集合 (数组元素的数据类型必须相同)
1. java 创建数组变量
- 数组中已有元素的创建方式
语法:
数据类型 [] 变量名称 = {数组中值};
数据类型 [] 变量名称 = new 数据类型 [] {数组中值};
// 此种方式,声明和初始化必须写在一起
int [] arr1 = {1,2,3};
或
// 此种方式,可分可合,[] 中不可放数字
int [] arr2 = new int[]{1,2,3};
int [] arr3;
arr3 = new int[]{1,2,3};
- 数组中空数组的创建方式
语法:
数据类型 [] 变量名称 = new 数据类型 [数组长度];
注意:
空数组的每一项有默认值,默认值和数据类型是对应关系
整型(byte,short,int,long)默认值:0
浮点型(float,double)默认值:0.0
字符型(char)默认值:'\u0000'
布尔型(boolean)默认值:false
引用类型字符串(String)默认值:null
int [] arr4 = new int[10];
- 创建多维数组
二维数组
数据类型 [][] 变量名称 = {{值},{值},{值}};
三维数组
数据类型 [][][] 变量名称 = {{{值}},{{值}},{{值}}};
2. java 数组的遍历
- for 循环
int [] arr = new int[]{1,2,3,4};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
- 增强for循环
语法:
for(数组类型 元素标识符: 数组名) { 元素标识符 就是 数组遍历的元素}
// 一维数组遍历
for (int item : arr) {
System.out.println(item);
}
// 多维数组遍历
int[][] arrs = {{1,2,3},{4,5,6}} ;
for(int[] arr : arrs) {
for(int item : arr) {
System.out.println(item);
};
};
3. java 数组的排序
- 冒泡排序(改变原数组)
import java.util.Arrays;
public class test {
public static void main(String[] args) {
int[] arr = { 3, 0, -1, 2, 1};
System.out.println(Arrays.toString(arr)); // [3, 0, -1, 2, 1]
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j+1]) {
int tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
System.out.println(Arrays.toString(arr)); // 排序后: [-1, 0, 1, 2, 3]
}
}
- 数组内置的sort方法(改变原数组)
import java.util.Arrays;
public static void main(String[] args) {
int[] arr = { 3, 0, -1, 2, 1};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); // 排序后:[-1, 0, 1, 2, 3]
}
数组常用方法
- 获取数组元素:arr[下标]
- 获取数组长度:arr.length
- 数组赋值:arr[下标] = 值
- 一维数组转字符串(打印):System.out.println(Arrays.toString(数组));
- 多维数组转字符串(打印):System.out.println(Arrays.deepToString());