Java中数组的定义与使用详解

yizhihongxing

Java中数组的定义与使用详解

什么是数组

数组是一种线性数据结构,包含相同类型的元素,每个元素可以通过下标访问。Java 中的数组属于引用数据类型,可以动态创建并初始化,支持多维数组。

定义数组

1.一维数组

定义一维数组的方式:

数据类型[] 数组名 = new 数据类型[数组长度];

例如:

int[] nums = new int[5];
String[] fruits = new String[3];

其中,new 关键字用于在堆内存(heap memory)中分配数组所需要的空间,数组长度必须是正整数。注意,初始化数组时元素自动初始化为默认值,int 类型为 0,String 类型为 null

2.多维数组

定义多维数组的方式:

数据类型[][]...[] 数组名 = new 数据类型[第一维长度][第二维长度]...[第 n 维长度];

例如:

int[][] nums = new int[3][4];
String[][][] students = new String[2][3][4];

其中,n 表示数组维数,第一维的长度不能省略,后续维数长度可以省略。元素访问方式通常通过嵌套的循环语句实现。

访问数组元素

访问数组元素的方式:

数组名[下标]

例如:

int[] nums = {1, 3, 5};
int num = nums[1]; // num 的值为 3 

注意,数组下标从 0 开始计数,越界时会抛出 ArrayIndexOutOfBoundsException 异常。

数组常用方法

Java 中的数组类 java.util.Arrays 提供了以下常用方法:

1.排序

使用 Arrays.sort() 方法对数组进行排序:

Arrays.sort(数组名);

例如:

int[] nums = {3, 1, 4};
Arrays.sort(nums); // nums 的值为 [1, 3, 4]

2.复制

使用 Arrays.copyOf() 方法复制数组:

数据类型[] 新数组名 = Arrays.copyOf(旧数组名, 新数组长度);

例如:

int[]nums = {1, 2, 3};
int[]newNums = Arrays.copyOf(nums, 5); // newNums 的值为 [1, 2, 3, 0, 0]

示例1

public class ArrayDemo {
    public static void main(String[] args) {
        int[] nums = {23, 12, 45, 67, 34};
        Arrays.sort(nums);
        System.out.println("排序后的数组:");
        for (int i = 0; i < nums.length; i++) {
            System.out.println(nums[i]);
        }
    }
}

输出结果:

排序后的数组:
12
23
34
45
67

示例2

public class MultiArrayDemo {
    public static void main(String[] args) {
        int[][] nums = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
        System.out.println("访问 nums[0][2] 的值:");
        System.out.println(nums[0][2]); // 输出 3 
    }
}

输出结果:

访问 nums[0][2] 的值:
3

总结

本文详细讲解了 Java 中数组的定义、访问和常用方法,并通过两个示例说明了数组的使用方法,希望读者进一步加深对 Java 数组的理解和应用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中数组的定义与使用详解 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • SpringBoot中controller深层详细讲解

    Spring Boot中Controller深层详细讲解 在Spring Boot应用程序中,Controller是一个非常重要的组件,它负责处理HTTP请求并返回响应。本文将深入探讨Spring Boot中Controller的详细信息,包括如何定义Controller、如何处理请求、如何返回响应等。 定义Controller 在Spring Boot应用…

    Java 2023年5月15日
    00
  • Java 11/JDK 11正式发布 支持期限至2026年9月(附下载)

    Java 11/JDK 11正式发布 支持期限至2026年9月(附下载)攻略 什么是Java 11/JDK 11? Java 11,也称作JDK 11 (Java Development Kit 11),是由Oracle公司于2018年9月发布的Java版本之一。JDK是一个开发环境,其中包含了Java编译器和运行时环境,可以用于开发、编译、运行Java程序…

    Java 2023年5月19日
    00
  • Spring MVC项目开发踩过的一些bug

    下面是详细的攻略: Spring MVC项目开发踩过的一些bug 1. 关于jsp页面中的EL表达式 在jsp页面中使用EL表达式时,在表达式中不要包含两对#{和},如果要包含两对,则需要使用反斜线进行转义。例如:在表单中使用<input type=”text” name=”username” value=”${user.name}”>,表示把u…

    Java 2023年6月15日
    00
  • 浅谈jsp EL表达式取值过程、page和pagecontext的区别

    下面我将详细讲解“浅谈jsp EL表达式取值过程、page和pagecontext的区别”的完整攻略,希望能对你有所帮助。 什么是EL表达式 EL表达式(Expression Language)是一个用于在JSP中获取数据的表达式语言,主要用于在JSP页面中引用和显示Java Bean中的属性值、参数、方法调用等。它的语法类似于JavaScript和PHP等…

    Java 2023年6月15日
    00
  • Java的MyBatis快速入门和实战详解

    Java的MyBatis快速入门和实战详解 什么是MyBatis MyBatis 是一款轻量级的 Java 持久层框架。 它支持自定义 SQL、存储过程以及高级映射。MyBatis 通过简化 JDBC 编程来实现对数据库的操作,并将 SQL 语句与程序代码分离,使应用程序的开发和维护更加简单。 MyBatis快速入门 环境搭建 安装 JDK 安装 Maven…

    Java 2023年5月20日
    00
  • 详解如何探测小程序返回到webview页面

    探测小程序返回到webview页面主要有两个部分:小程序侧的操作和webview侧的操作。 小程序侧的操作 步骤一:调用小程序JSAPI 小程序提供了navigateBackMiniProgram的JSAPI,可以在小程序内部调用,从而返回webview页面。 wx.navigateBackMiniProgram({ success: function() …

    Java 2023年5月23日
    00
  • Win10系统下配置java环境变量的全过程

    下面是Win10系统下配置java环境变量的全过程: 下载JDK安装包 在Oracle官网上下载自己所需的JDK安装包,下载地址:https://www.oracle.com/java/technologies/javase-jdk15-downloads.html 安装JDK 运行JDK安装包,按照默认设置一路下一步,最后点击“完成”即可。 查看Java安…

    Java 2023年5月24日
    00
  • Springboot使用influxDB时序数据库的实现

    接下来我将详细讲解“Springboot使用influxDB时序数据库的实现”的完整攻略。首先需要明确的是,influxDB是一个高性能的时序数据库,专门用于处理时间序列数据。而Springboot是一个基于Spring框架的应用程序快速开发框架。 引入influxDB依赖 在Springboot项目的pom.xml文件中,添加以下依赖: <depen…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部