您的当前位置:首页正文

【Java开发】数组的详解

2024-11-30 来源:个人技术集锦

 前言


1.数组的基本概念 

1.1数组的好处

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

public class Test {
    public static void main(String[] args) {
        int score1 = 99;
        int score2 = 80;
        int score3 = 60;
        System.out.println(score1);
        System.out.println(score2);
        System.out.println(score3);
    }
}

输出效果:

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


1.2什么是数组

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

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


1.3数组的定义及初始化

1.3.1数组的创建

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

type[] 数组名 = new type[N];

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

type[]:表示数组的类型

N:表示数组的长度 

 创建三个数组:

int[] arry1 = new int[10];
double[] arry2 = new double[5];
String[] arry3 = new String[3];

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)动态初始化,我们直接规定数组元素的个数,如:

int[] arry= new int[10];

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

int[] arry1 ={1,2,3,4,5};
double[] arry2 ={3.1,2.4,6.3};
String[] arry3 ={"abc","123","hello"};

注意:

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

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

public class Test {
    public static void main(String[] args) {
        int[] arry = new int[10];
        System.out.println(Arrays.toString(arry));
    }
}

输出:

以上代码,我们发现创建一个整型数组后没有对其进行初始化,它的每个元素默认都为0。在上述代码中,我引用了一个方法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的数组找到该元素。

请看以下代码:

public class Test {
    public static void main(String[] args) {
        int[] arry ={1,2,3,4,5};
        System.out.println(arry[0]);
        System.out.println(arry[4]);
        arry[0] = 6;
        System.out.println(arry[0]);
    }
}

输出:

观察以上代码,我们不难发现。当我们想访问那个元素的时候,直接数

显示全文