java 数组

2022-01-16  本文已影响0人  暴躁程序员

java数组:相同类型数据的有序集合 (数组元素的数据类型必须相同)

1. java 创建数组变量

  1. 数组中已有元素的创建方式
语法:
数据类型 [] 变量名称 = {数组中值};
数据类型 [] 变量名称 = new 数据类型 [] {数组中值};
// 此种方式,声明和初始化必须写在一起
int [] arr1 = {1,2,3};

// 此种方式,可分可合,[] 中不可放数字
int [] arr2 = new int[]{1,2,3};

int [] arr3;
arr3 = new int[]{1,2,3};
  1. 数组中空数组的创建方式
语法:
数据类型 [] 变量名称 = new 数据类型 [数组长度];
注意:
空数组的每一项有默认值,默认值和数据类型是对应关系
整型(byte,short,int,long)默认值:0
浮点型(float,double)默认值:0.0
字符型(char)默认值:'\u0000' 
布尔型(boolean)默认值:false
引用类型字符串(String)默认值:null
int [] arr4 = new int[10];
  1. 创建多维数组
二维数组
数据类型 [][] 变量名称 = {{值},{值},{值}};
三维数组
数据类型 [][][] 变量名称 = {{{值}},{{值}},{{值}}};

2. java 数组的遍历

  1. for 循环
int [] arr = new int[]{1,2,3,4};
for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}
  1. 增强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 数组的排序

  1. 冒泡排序(改变原数组)
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]
    }

}
  1. 数组内置的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] 
    }

数组常用方法

  1. 获取数组元素:arr[下标]
  2. 获取数组长度:arr.length
  3. 数组赋值:arr[下标] = 值
  4. 一维数组转字符串(打印):System.out.println(Arrays.toString(数组));
  5. 多维数组转字符串(打印):System.out.println(Arrays.deepToString());
上一篇下一篇

猜你喜欢

热点阅读