Java中的数组(Array)

Wesley13
• 阅读 549

数组对于每一门编程语言来讲都是最重要的数据结构之一,当然不同的编程语言对数组的实现以及处理也不尽相同。

数组的概念:

把有限个相同类型元素变量放在一个整体,这个整体就叫做数组。数组中的每一个元素被称为数组元素,通常可以通过数组元素的索引(也叫下标,可以理解为一种编号,从0开始)来访问数组元素,包括数组元素的赋值(set)和取值(get)。

在Java中数组属于引用类型,也是一种类型,Java中的数组要求所有的数组元素必须具有相同的数据类型,因此在一个数组中,数组元素的类型是唯一的,一个数组只能存储一种数据类型的数据,而不能存储多种数据类型的数据。

一旦数组初始化完成,数组内存所占的空间也就被固定,因此数组的长度是不可改变的。即使把某个数组中所有元素的数据全部清空,其所占的空间仍然会被保留,该空间依然属于该数组,数组长度依然不会改变。数组既可以存放基本数据类型(如:int、char、boolean),也可以存放引用数据类型(如:String),只要数组的数组元素具有相同的类型就可以。

数组在声明时必须要对其初始化。

数组的声明:

首先必须声明数组的类型,再声明数组变量(也就是名字),才能在程序中使用它。

语法:

(数组的声明一般分为以下两种方法)

类型 变量名[];    //这种风格来自C/C++语言,但不常用,不是首选方法,意思是声明一个某某类型,叫什么的数组

类型[] 变量名;    //这种风格是Java的风格,常用,是首选方法,意思是声明一个某某类型的数组,叫什么

  (注意:声明了一个数组,仅仅只是声明,只是有这么一个名称而已,但是里面没有任何数据,因为没有初始化,所以Java会报错)

初始化:

Java中声明了数组必须要对其初始化才可以使用。初始化也就是为数组的数组元素在内存中分配内存空间,并为每个元素赋初始值。

数组的初始化分以下两种:

①静态初始化:

静态初始化指在声明数组时就为数组元素分配空间并赋值。

语法:

dataType[] arrayName = new dataType[]{value1,value2,...,valuen};    //实际写法

dataType[] arrayName = {value1,value2,...,valuen};    //简化写法,一般常用

如:

int[] a = new int[]{1,5,7,8,11};    //实际写法

int[] a = {1,5,7,8,11};    //简化写法,一般常用

②动态初始化:

动态初始化指数组定义与数组分配空间与赋值的操作分开进行,动态初始化只指定数组的长度,由系统为每个数组元素指定初始值。

语法:

dataType[] a = new dataType[arraySize];    //常用写法

dataTypr[] b;
b = new dataType[arraySize];    //不常用写法

如:

int[] a = new int[5];    //常用写法,声明该数组长度为5
        
int[] b;
b = new int[5];        //不常用写法,实际含义只是将以上步骤拆分了而已

初始值:

以下是系统为数组元素分配的默认初始值:

1.数值型(byte、short、int、long):值为0。

2.浮点型(float、double):值为0.0。

3.字符型(char):值为\u0000(即空格)。

4.布尔型(boolean):值为false。

5.引用类型(类、接口、如:String字符串):值为null。

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
2年前
PTA1
11数组定义中,数组名后是用方括号括起来的常量表达式,不能用圆括号。(1分)\T\F12在C语言中能逐个地使用下标变量,也能一次引用整个数组。(1分)T\F\因为它有首地址13同一个数组中的每个元素都具有相同的数据类型,有统一的标识符即数组名,用不同的序号即下标来区分数组中的各元素。(1分)\T\F14数
Wesley13 Wesley13
2年前
Go 定长的数组
1.Go语言数组的简介  几乎所有的计算机语言都有数组,应用非常的广泛。同样,在Go语言中也有数组并且在数组的基础上还衍生出了切片(slice)。数组是一系列同一类型数据的集合,数组中包含的每个数据被称为数组元素,一个数组包含的元素个数被称为数组的长度,这是数组的基本定义。  在Go语言中数组是一个值类型(ValueType)
Stella981 Stella981
2年前
Android JNI开发系列(七)访问数组
JNI访问数组JNI中的数组分为基本类型数组和对象数组,它们的处理方式是不一样的,基本类型数组中的所有元素都是JNI的基本数据类型,可以直接访问。而对象数组中的所有元素是一个类的实例或其它数组的引用,和字符串操作一样,不能直接访问Java传递给JNI层的数组,必须选择合适的JNI函数来访问和设置Java层的数组对象。
Stella981 Stella981
2年前
HashMap 的底层实现原理
HashMap是一个用于存储KeyValue键值对的集合,每一个键值对也叫做Entry。这些个Entry分散存储在一个数组当中,这个数组就是HashMap的主干。HashMap数组每一个元素的初始值都是Null。 !(https://oscimg.oschina.net/oscnet/8495d30fe00a2865dd74088d2
Wesley13 Wesley13
2年前
C语言自学《五》
什么是数组数组是一组数目固定、类型相同的数据项数组中的数据称为元素比如longnumbers\10\;方括号中的数字定义了要存放在数组中的元素个数,称为数组维度数组有一个类型,它组合了元素的类型和数组中的元素个数,因此如果两个数组的元素个数、类型相同,这两个数组的类型就相同可以在数组名称后的方括号内使用索引值,索引值是从0开始
Wesley13 Wesley13
2年前
JavaSE
DAY081.数组1.1定义数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。数组的三个基本特点:1.长度是确定的。数组一旦被创建,它的大小就是不可以改变的。2.其元素必须
Stella981 Stella981
2年前
Javascript数组系列一之栈与队列
所谓数组(英语:Array),是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。---百度百科简单理解,数组就是数据的有序列表。Array在Javascript中属于最常用的数据类型之一了,与其它语言一样Javascript中的数
Wesley13 Wesley13
2年前
C#图解教程 第十二章 数组
数组数组数组实际上是由一个变量名称表示的一组同类型的数据元素。每个元素通过变量名称和一个或多个方括号中的索引来访问:数组名索引↓↓MyArray4定义让我们从C中与数组有关的重要定义开始元素数组的独立数据项称为元素。数组的所有元素必须
Wesley13 Wesley13
2年前
Java基础语法:数组
一、简介描述:数组是相同类型数据的有序集合。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。基本特点:1.数组的长度是确定的。数组一旦被创建,它的大小就是不可以改变的。2.数组元素必须是相同类型,不允许
Wesley13 Wesley13
2年前
Java基础学习总结(21)——数组
一.数组的基本概念数组可以看成是多个相同类型数据组合,对这些数据的统一管理。数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组的元素可以是任何数据类型,包括基本类型和引用类型。C和C中的数组都可以分配在栈上面,而JAVA中的数组是只能分配在堆