滚雪球学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编程,就像滚雪球一样,越滚越大,指数级提升。

目录
相关文章
|
1天前
|
存储 缓存 算法
滚雪球学Java(62):HashSet的底层实现原理解析
【6月更文挑战第16天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
8 3
滚雪球学Java(62):HashSet的底层实现原理解析
|
1天前
|
Java 开发者
Java 面向对象编程实战:从类定义到对象应用,让你成为高手!
【6月更文挑战第15天】在Java中,掌握面向对象编程至关重要。通过创建`Book`类,展示了属性如`title`和`author`,以及构造方法和getter方法。实例化对象如`book1`和`book2`,并访问其属性。进一步扩展类,添加`pages`和`calculateReadingTime`方法,显示了类的可扩展性。在更大规模的项目中,如电商系统,可以定义`Product`、`User`和`Order`类,利用对象表示实体和它们的交互。实践是精通Java OOP的关键,不断学习和应用以提升技能。
|
2天前
|
设计模式 Java
一文掌握 Java 面向对象精髓:从类定义到对象实战
【6月更文挑战第15天】Java面向对象编程初学者指南:类是对象模板,如`Person`类含`name`和`age`属性。创建对象用`new`,如`Person person = new Person()`。访问属性如`person.name=&quot;Alice&quot;`,调用方法如`person.sayHello()`。类能继承,如`Student extends Person`。对象间共享数据可传参或共用引用。多态性允许父类引用调用子类方法。注意对象生命周期和内存管理,避免内存泄漏。通过实践和理解这些基础,提升编程技能。
|
2天前
|
Java
深入 Java 面向对象:类的定义,竟然藏着这么多门道!
【6月更文挑战第15天】Java中的类定义是OOP的基础,它封装属性(如Student的name和age)和行为(如study())。简单的类仅触及表面,而复杂的类可模拟真实世界对象的多样性和交互。类还可通过继承扩展,如Student从Person派生,增加特有属性和行为。接口和抽象类等概念进一步增强了灵活性和可扩展性。类定义的深度和广度是构建高效、可维护代码的关键。
|
2天前
|
Java
震惊!原来 Java 的类是这样定义的,你还在等什么?
【6月更文挑战第15天】Java 中的类是对象的蓝图,定义了其属性(如 `name`, `age`)和行为(构造器、方法)。例如,`Student` 类展示了如何通过构造器初始化属性,并通过方法(`getName`, `getAge`)访问这些属性。类的使用促进代码模块化、可维护性和扩展性,允许创建具有相同特征的多个对象,适应不断变化的需求。掌握类定义是提升Java编程能力的基础。
|
2天前
|
存储 Java 测试技术
滚雪球学Java(61):从源码角度解读Java Set接口底层实现原理
【6月更文挑战第15天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
11 1
滚雪球学Java(61):从源码角度解读Java Set接口底层实现原理
|
2天前
|
Java 索引
[笔记] 疯狂JAVA讲义(第3版)第4章 流程控制与数组
[笔记] 疯狂JAVA讲义(第3版)第4章 流程控制与数组
|
3天前
|
Java
深入理解 Java 8 函数式接口:定义、用法与示例详解
深入理解 Java 8 函数式接口:定义、用法与示例详解
5 1
|
3天前
|
Java
Java 基础深度解析:变量与常量的声明、赋值与初始化的权威指南
【6月更文挑战第14天】Java编程中的变量和常量是基础关键。声明变量如`int age;`,赋值与初始化可在声明时或后续代码中完成。常量用`final`修饰,如`public static final double PI = 3.14159;`,且只能赋值一次。变量命名应具描述性,常量值设定后尽量不变,注重代码的可读性和可维护性。熟练掌握这些将有助于编写高质量Java程序。
|
3天前
|
存储 安全 Java
滚雪球学Java(60):深入解析Java中的Vector集合类!
【6月更文挑战第14天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
138 59
滚雪球学Java(60):深入解析Java中的Vector集合类!