JAVA数组

JAVA数组

一,一维数组

是一种存储多个数据的数据结构,在内存中是一段连续的内存空间

特点:

​ 数组是一种引用数据类型
​ 数组是定长,长度一旦确定不可改变
​ 一个数组中存储相同类型的数据
​ 数组中数据是有序的,通过索引|下标进行管理

下标(索引)
从0开始,每次+1
根据数组的索引操作数组中的数据

第一个索引->0
最后一个数据的索引-> 数组名.length-1

1.1 数组的定义

​ 声明:

​ 变量的声明: 数据类型 变量名;
​ 数组的声明: 数据类型[] 数组名; -->推荐
​ 数据类型 数组名[];
​ 数据类型 : 可以为任意数据类型(基本|引用)
​ 规定当前数组中存储数据的类型

//定义一个int类型的数组
int[] a = new int[];

//定义一个引用类型的数组
String[] str = new String[];

初始化数组

//静态初始化数组
int[] a = new int[]{1,2,3};

//动态初始化数组
int[] b = new int[3];
b[0] = 1;
b[1] = 2;
b[2] = 3;
1.2 数组的length属性

length能够获取数组的长度

int[] arr = new int[]{1,2,3};

int a = arr.length;//获取数组长度
1.3 数组的遍历

数组可以通过for循环遍历数组中的元素

//定义一个数组
int[] arr = new int[]{1,2,3,4,5};
//循环遍历数组,arr.length为当前数组长度,来决定循环的次数
for(int i = 0;i < arr.lengrh;i++){
    //将每个元素通过下标索引输出打印
    System.out.println(arr[i]);
}

除了普通for循环外,还能使用增强for循环,即foreach来遍历数组

int[] arr = new int[]{1,2,3,4,5};

//先定义一个接受数组数据的变量,然后自动遍历数组将其值逐个赋值给变量a
for(int a : arr){
    //输出打印a
    System.out.println(a);
}

同时,java为我们提供了一种重写的toString()方法,能够用来遍历数组

int[] arr = new int[]{1,2,3,4,5};
//通过调用Arrays下的toString()方法,能够更简单的遍历数组元素
System.out.println(Arrays.toString(arr));

二,二维数组

2.1 定义

数据类型[ ][ ] 数组名 = new 数据类型[外层二维的长度][内层一维小数组长度];

//静态初始化
//内层小数组的长度可以不一致
int[][] arr = {{1,2,3,4},{2,8},{9,6,3}};

//动态初始化
int[][] arr2 = new int[2][];
arr[0] = new int[2];
arr[0][0] = 1;
arr[0][1] = 2;
arr[1] = new int[1];
arr[1][0] = 100;
2.2 二维数组的遍历方式

双重循环嵌套

  • ​ 普通嵌套增强
  • ​ 普通嵌套普通
  • ​ 增强嵌套增强
  • ​ 增强嵌套普通

1.双重普通for循环

public static void print1(int[][] arr){
    for (int i = 0; i < arr.length; i++) {
        for (int j = 0; j < arr[i].length; j++) {
            System.out.print(arr[i][j]+"\t");
        }
        System.out.println();
    }
}

2.普通嵌套增强

public static void print2(int[][] arr){
    for (int i = 0; i < arr.length; i++) {
        for(int a : arr[i]){
            System.out.print(a+"\t");
        }
        System.out.println();
    }
}

3.增强嵌套普通

public static void print3(int[][] arr){
    for (int[] array : arr) {
        for (int i = 0; i < array.length; i++) {
            System.out.print(array[i]+"\t");
        }
        System.out.println();
    }
}

4.增强嵌套普通

public static void print4(int[][] arr){
    for (int[] array : arr) {
        for (int a : array) {
            System.out.print(a+"\t");
        }
        System.out.println();
    }
}

java在Arrays中也为我们提供了遍历二维数组的方法

int[][] arr = {{1,2,3,4},{2,8},{9,6,3}};

System.out.println(Arrays.deepToString(arr));

三,Arrays工具类

该类包含用于操作数组的各种方法(例如排序和搜索)。 此类还包含一个静态工厂,允许将数组视为列表

3.1 toString()遍历数组
//遍历一维数组
Arrays.toString(arr);

//遍历二维数组
Arrays.deepToString(arr2);
3.2 equals()比较
//比较一维数组内容的是否一致
Arrays.equals(arr);

//比较二维数组内容的是否一致
Arrays.deepEquals(arr2);
3.3 copyOf()截取数组
//截取从索引0开始的4个数据,即[0,4)
Arrays.copyOf(arr,4);
//如果接受的是大于数组长度的数据,则超出部分自动初始化默认值
Arrays.copyOf(arr,20);

//copyOfRange截取从索引3到索引6之间的数组
Arrays.copyOfRange(arr,3,6);
### Java数组的使用方法 Java中的数组是一种基本的数据结构,用于存储固定大小的相同类型元素。数组的创建和使用在Java中有多种方式,以下是一些常见的操作方法和示例。 #### 创建数组Java中,数组的创建方式主要有以下几种: - **指定大小创建数组**: ```java int[] numbers = new int[5]; // 创建一个长度为5的整型数组 ``` - **初始化数组并赋值**: ```java int[] numbers = new int[]{1, 2, 3, 4, 5}; // 创建并初始化一个整型数组 ``` - **简化方式创建并初始化数组**: ```java int[] numbers = {1, 2, 3, 4, 5}; // 简化方式创建并初始化数组 ``` #### 访问数组元素 数组的索引从0开始,可以通过索引来访问数组中的元素: ```java int[] numbers = {1, 2, 3, 4, 5}; System.out.println(numbers[0]); // 输出第一个元素,即1 ``` #### 修改数组元素 通过索引可以直接修改数组中的元素: ```java int[] numbers = {1, 2, 3, 4, 5}; numbers[0] = 10; // 将第一个元素修改为10 System.out.println(numbers[0]); // 输出10 ``` #### 遍历数组 可以使用循环来遍历数组中的所有元素: ```java int[] numbers = {1, 2, 3, 4, 5}; for (int i = 0; i < numbers.length; i++) { System.out.println(numbers[i]); } ``` #### 数组排序 Java提供了`Arrays.sort()`方法来对数组进行排序。该方法使用快速排序算法对数组进行排序: ```java import java.util.Arrays; int[] numbers = {4, 2, 9, 1, 5, 6}; Arrays.sort(numbers); // 对数组进行排序 System.out.println(Arrays.toString(numbers)); // 输出: [1, 2, 4, 5, 6, 9] ``` #### 多维数组 Java中也支持多维数组,最常见的是二维数组: ```java int[][] matrix = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; // 访问二维数组中的元素 System.out.println(matrix[0][1]); // 输出2 ``` #### 示例代码:创建、修改和排序数组 以下是一个完整的示例代码,展示了如何创建数组、修改元素、遍历数组以及对数组进行排序: ```java import java.util.Arrays; public class ArrayExample { public static void main(String[] args) { // 创建并初始化数组 int[] numbers = {5, 3, 8, 1, 2}; // 修改数组元素 numbers[0] = 10; // 遍历数组 System.out.println("修改后的数组:"); for (int num : numbers) { System.out.print(num + " "); } // 对数组进行排序 Arrays.sort(numbers); System.out.println("\n排序后的数组:" + Arrays.toString(numbers)); } } ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值