当前位置:网站首页 > Java基础 > 正文

java 基础类型数组



前言

🧑‍💻作者:程序猿爱打拳,Java领域新星创作者,阿里云社区博客专家。

🗃️文章收录于:数据结构与算法

🗂️JavaSE的学习:JavaSE

🗂️MySQL数据库的学习: MySQL数据库


大家好,我是程序猿爱打拳,本期主要讲解数组的基本概念、数组的类型、数组的应用场景。并且配有练习题目的讲解,图文并茂通俗易懂,欢迎大家的阅读。

目录

1.数组的基本概念

1.1数组的好处

1.2什么是数组

1.3数组的定义及初始化

1.3.1数组的创建

1.3.2数组的初始化

1.4数组的使用

1.4.1访问数组中的元素

1.4.2遍历数组

2.数组的类型

2.1认识JVM的内存分布

2.2基本类型变量与引用类型变量

2.3认识null

3.数组的应用场景

3.1保存数据

3.2作为函数的参数

3.3作为函数的返回值

4.数组练习

4.1数组转字符串

4.2求数组的元素平均值(保留整数)

4.3查找数组中的指定元素(顺序查找)

4.4查找数组中的指定元素(二分查找)

4.5数组排序(冒泡排序)

4.6数组逆序

5.二维数组

5.1二维数组的定义

5.2二维数组的遍历


1.数组的基本概念

1.1数组的好处

当我们打印出3个同学的数学成绩的时候。我们可以这样做:

 

输出效果:

我们发现少量的数据进行打印的时候是非常容易,那么如果有100个人的成绩或者200个同学的成绩需要打印呢?这时候一个一个去打印就非常的麻烦了,因此我们就有了一个概念就是本期所要学的数组。它可以将这些相同类型的数据存放在一个集合里面,这就是它的好处。


1.2什么是数组

数组是相同类型元素的一个集合。在内存是连续存放的,类似于现实生活中的车库。

以上图片就是两个连续的存储方式,左侧就是我们的数组大概的模样。数组的几个注意事项:

  1. 数组中存放每个元素类型都一致
  2. 数组的空间是连续存放的
  3. 数组的下标从0开始依次往后递增

1.3数组的定义及初始化

1.3.1数组的创建

在上面我们知道数组的用处,以及在内存大概的布局模样后,数组是如何创建的呢?

 

type:表示数组中存放的各个元素的类型

type[]:表示数组的类型

N:表示数组的长度

创建三个数组:

 

int[] arry1 = new int[10];//定义一个名为arry1的数组,里面可以存放10个整型元素。

double[] arry2 = new double[5];//定义一个名为arry2的数组,里面可以存放5个双精度浮点型元素。

String[] arry3 = new String[3];//定义一个名为arry3的数组,里面可以存放3个字符串。


1.3.2数组的初始化

数组的初始化分为动态初始化以及静态初始化

(1)动态初始化,我们直接规定数组元素的个数,如:

 

(2)静态初始化,在创建数组的时候不规定数组元素的个数,并直接将数组的内容进行设定,如:

 

注意:

  1. 静态初始化的时,虽然没有指定数组元素的个数。但直接将数组设定为固定的值后,编译器会自动计算出该数组元素的个数。因此大家不必担心。
  2. 静态初始化时,{}里面的每个元素应保持类型一致,并且使用,号隔开。

当我们创建数组后并未对其进行初始化,数组中元素会自动设置默认值为0。如:

 

输出:

以上代码,我们发现创建一个整型数组后没有对其进行初始化,它的每个元素默认都为0。在上述代码中,我引用了一个方法 java 基础类型数组Arrays.toString(数组名)意为:以字符串的形式输出该数组。那么数组中存储元素的类型为基本类型,其各个类型对应的默认值,如下表所示:

类型 默认值 byte 0 short 0 int 0 long 0 float 0.0f double 0.0 char /u0000 boolean false

大家可以下来自己测试一下,在此我就不一一测试了。注意,如果数组中存储元素类型为引用类型,其默认值为null,下面我会讲到。


1.4数组的使用

1.4.1访问数组中的元素

在1.2中我们知道了,数组是从下标为0的下标依次往后执行的。并且数组可以通过下标访问到想访问到的数据。比如我想访问到一个数组的第5个数,我们可以通过下标为4的数组找到该元素。

请看以下代码:

 

输出:

版权声明


相关文章:

  • java语言程序设计基础篇ppt2025-04-17 18:34:05
  • 零基础java web2025-04-17 18:34:05
  • java基础学不会2025-04-17 18:34:05
  • 自学java基础案例2025-04-17 18:34:05
  • java需要基础吗2025-04-17 18:34:05
  • java 基础三个特性2025-04-17 18:34:05
  • 0基础java 就业2025-04-17 18:34:05
  • java基础的三个框架2025-04-17 18:34:05
  • java基础1认识java2025-04-17 18:34:05
  • java 基础篇2025-04-17 18:34:05