Java教程

JAVA学习笔记07-数组

本文主要是介绍JAVA学习笔记07-数组,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • 数组的特点
  • 数组的声明与初始化
    • 声明与分配空间
    • 三种初始化方式
  • 数组建立时JAVA的内存变化

数组的特点

数组是最简单的一种复合数据类型,数组是一系列相同数据类型数据的集合,我们通过数组名和元素对应的下标来获得每个元素具体的值。
具体的话,数组具有以下特点:

  • 一致性:数组只能保存相同数据类型元素,元素的数据类型可以是任何相同的数据类型。
  • 有序性:数组中的元素是有序的,通过下标访问。
  • 不可变性:数组一旦初始化,则长度(数组中元素的个数)不可变。

数组的声明与初始化

声明与分配空间

我们使用一个数组需要先定义以及声明我们的数组,JAVA中有两种声明数组的方式:

  • 一种是JAVA推荐的方式:datatype [] dataname;
  • 另一种是C\C++使用的方式:datatype dataname[];

这里当然选择优先使用第一中JAVA推荐的定义方式,因为这样的定义更符合逻辑以及语义。

比如我们定义一个int类型的数组可以这样做:

int[] nArry;

定义了一个数组后,我们要使用它还需要将他初始化,也就是JAVA需要给我们的数组分配空间,分配空间用到了new关键字。

dataname = new datatype[size];

三种初始化方式

第一种初始化的方式:

int[] nArry = new int[10];

这种初始化的方式我们只是指定了数组的长度,系统将自动给我们的数组分配初始值。

第二种初始化的方式:

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

直接在初始化的时候就指定元素的值。
这里需要注意的是不要在进行数组初始化时,既指定数组的长度,也为每个数组元素分配初始值,这样会造成代码错误。

错误示例:

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

第三种初始化的方式:
直接指定元素的值

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

使用这种方式时,数组的声明和初始化操作要同步,即不能省略数组变量的类型。
错误示例:

数组建立时JAVA的内存变化

我们这里只是浅析一下JAVA部分内存结构,后续有关内存的知识会再写一篇笔记。
这里先简单学习一下JAVA内存结构中的堆、栈、方法区:

那么当我们声明一个数组的时候,系统会将我们的这个数组名压入栈中:

接下来我们就使用new来为我们的数组分配空间,这个时候堆中就会开辟一片供我们数组使用的区域:

这篇关于JAVA学习笔记07-数组的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!