滚雪球学Java(27):从零开始学习数组:定义和初始化

简介: 【5月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!!


前言

数组是一种非常常用的数据结构,在任何一门编程语言中都有其存在。它可以存储一组相同类型的数据,同时能够方便地对这些数据进行操作。

在Java中,数组也是不可或缺的一部分。本文将从定义和初始化开始,逐步讲解Java中数组的相关知识点,帮助读者掌握数组的使用方法。

摘要

本文主要内容包括:

  1. 数组的定义和初始化
  2. 数组的常见操作
  3. 二维数组的使用
  4. 数组的应用场景

Java数组

数组的定义和初始化

在Java中,数组是一个类,需要使用关键字new来创建。数组的定义格式为:

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

例如,定义一个存储整数类型数据的数组:

int[] arr = new int[5];

这里定义了一个长度为5的整数类型数组。

另一种定义数组的方式是使用初始化列表:

数据类型[] 数组名 = {
   元素1, 元素2, ..., 元素n};

例如:

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

这里定义了一个包含5个整数元素的数组。

数组的常见操作

  1. 访问数组元素

    可以使用下标来访问数组中的元素,下标从0开始,例如:

   int[] arr = {
   1, 2, 3};
   System.out.println(arr[0]); // 输出1
  1. 修改数组元素

    可以通过下标来修改数组的元素,例如:

   int[] arr = {
   1, 2, 3};
   arr[0] = 5;
   System.out.println(arr[0]); // 输出5
  1. 数组的长度

    可以使用length关键字获取数组的长度,例如:

   int[] arr = {
   1, 2, 3};
   System.out.println(arr.length); // 输出3
  1. 遍历数组

    可以使用循环语句来遍历数组中的元素,例如:

   int[] arr = {
   1, 2, 3};
   for (int i = 0; i < arr.length; i++) {
   
       System.out.println(arr[i]);
   }

二维数组的使用

二维数组是指一个由多个一维数组组成的数组。它的定义和初始化方式如下:

数据类型[][] 数组名 = new 数据类型[行数][列数];

例如,定义一个3行4列的整数类型二维数组:

int[][] arr = new int[3][4];

对于二维数组中的元素访问和修改,需要使用两个下标:

int[][] arr = {
   {
   1, 2}, {
   3, 4}};
System.out.println(arr[0][1]); // 输出2

arr[1][1] = 5;
System.out.println(arr[1][1]); // 输出5

数组的应用场景

数组在开发中有着广泛的应用场景,例如:

  1. 存储多个相同类型的变量
  2. 快速寻找最大/最小值
  3. 用于排序算法
  4. 存储图像/音频等数据

代码方法介绍

定义和初始化数组

定义一个整数类型数组,并使用初始化列表进行初始化:

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

定义一个整数类型数组,并指定数组长度:

int[] arr = new int[5];

访问和修改数组元素

访问数组中的元素:

int[] arr = {
   1, 2, 3};
System.out.println(arr[0]); // 输出1

修改数组中的元素:

int[] arr = {
   1, 2, 3};
arr[0] = 5;
System.out.println(arr[0]); // 输出5

获取数组长度

获取数组的长度:

int[] arr = {
   1, 2, 3};
System.out.println(arr.length); // 输出3

遍历数组

使用循环语句遍历数组中的元素:

int[] arr = {
   1, 2, 3};
for (int i = 0; i < arr.length; i++) {
   
    System.out.println(arr[i]);
}

定义和初始化二维数组

定义一个3行4列的整数类型二维数组,并进行初始化:

int[][] arr = {
   {
   1, 2, 3, 4}, {
   5, 6, 7, 8}, {
   9, 10, 11, 12}};

定义一个3行4列的整数类型二维数组,并指定数组长度:

int[][] arr = new int[3][4];

访问和修改二维数组元素

访问二维数组中的元素:

int[][] arr = {
   {
   1, 2}, {
   3, 4}};
System.out.println(arr[0][1]); // 输出2

修改二维数组中的元素:

int[][] arr = {
   {
   1, 2}, {
   3, 4}};
arr[1][1] = 5;
System.out.println(arr[1][1]); // 输出5

测试用例

测试数组的定义和初始化

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

assert arr1.length == 5;
assert arr2.length == 5;

测试数组的访问和修改

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

arr[0] = 5;
assert arr[0] == 5;

测试数组的长度

int[] arr = {
   1, 2, 3};
assert arr.length == 3;

测试数组的遍历

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

for (int i = 0; i < arr.length; i++) {
   
    System.out.println(arr[i]);
}

assert true;

测试二维数组的定义和初始化

int[][] arr = {
   {
   1, 2, 3}, {
   4, 5, 6}, {
   7, 8, 9}};
assert arr.length == 3;
assert arr[0].length == 3;

测试二维数组的访问和修改

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

assert arr[0][1] == 2;

arr[1][1] = 5;
assert arr[1][1] == 5;

小结

  本文介绍了Java中数组的相关知识点,包括定义和初始化、常见操作、二维数组的使用和数组的应用场景等方面。同时,也提供了相应的代码示例和测试用例,帮助读者更好地理解和掌握数组的使用方法。

附录源码

  如上涉及所有源码均已上传同步在Gitee,提供给同学们一对一参考学习,辅助你更迅速的掌握。

总结

  本文主要介绍了Java中数组的相关知识。首先讲解了数组的定义和初始化,包括如何声明数组、如何分配内存空间、如何初始化数组等。然后讲解了数组的常见操作,包括数组的遍历、查找、排序等。接下来介绍了二维数组的使用,包括如何定义、如何初始化以及如何遍历等。最后,本文讲解了数组在实际应用中的场景,如用于存储数据、用于算法计算等方面。阅读本文后,读者可以更好地掌握Java中数组的使用方法。

☀️建议/推荐你


  无论你是计算机专业的学生,还是对编程有兴趣的小伙伴,都建议直接毫无顾忌的学习此专栏「滚雪球学Java」,bug菌郑重承诺,凡是学习此专栏的同学,均能获取到所需的知识和技能,全网最快速入门Java编程,就像滚雪球一样,越滚越大,指数级提升。

目录
相关文章
|
20小时前
|
Java
【JAVA学习之路 | 进阶篇】Record(记录)与密封类(sealed)
【JAVA学习之路 | 进阶篇】Record(记录)与密封类(sealed)
|
20小时前
|
Java
【JAVA学习之路 | 进阶篇】方法引用与构造器引用
【JAVA学习之路 | 进阶篇】方法引用与构造器引用
|
20小时前
|
Java 编译器
【JAVA学习之路 | 进阶篇】Lambda表达式
【JAVA学习之路 | 进阶篇】Lambda表达式
|
20小时前
|
存储 Java API
【JAVA学习之路 | 进阶篇】(处理流)转换流与对象流
【JAVA学习之路 | 进阶篇】(处理流)转换流与对象流
|
20小时前
|
缓存 Java
【JAVA学习之路 | 进阶篇】节点流与缓冲流(处理流之一)
【JAVA学习之路 | 进阶篇】节点流与缓冲流(处理流之一)
|
20小时前
|
存储 Java API
【JAVA学习之路 | 进阶篇】IO流及流的分类
【JAVA学习之路 | 进阶篇】IO流及流的分类
|
20小时前
|
Java 测试技术 C++
【JAVA学习之路 | 进阶篇】File类及常用方法
【JAVA学习之路 | 进阶篇】File类及常用方法
|
20小时前
|
Java 索引
【JAVA学习之路 | 进阶篇】HashMap源码剖析
【JAVA学习之路 | 进阶篇】HashMap源码剖析
|
20小时前
|
存储 Java
【JAVA学习之路 | 进阶篇】ArrayList,Vector,LinkedList内存解析
【JAVA学习之路 | 进阶篇】ArrayList,Vector,LinkedList内存解析
|
20小时前
|
存储 Java 索引
【JAVA学习之路 | 进阶篇】浅谈数据结构
【JAVA学习之路 | 进阶篇】浅谈数据结构