在Java语言中,我们可以使用变量来存储一个信息。但如果我们有很多的信息,那么就要创建很多的变量来存储值,显然这样做会显得代码非常的臃肿,不利于阅读或管理。随着处理的信息越来越多,我们就可以用一个数组来讲这些数据类型一样的数值存储在一块儿,在一定程度上缩短或简化代码,提高应用程序的效率。
一、数组的概念
1、简介
数组(Array),在 Java 中也属于一种数据类型,区别于 int,String 之类的基本数据类型,数组是引用数据类型的一种。数组是有序数组的集合,里面的每个元素都必须具有相同的类型,可以用不同的数组名加上不同的下标来定位数组中唯一的元素。
2、特性
在大部分计算机语言中,数组基本上都具有一下三大基本特性:
(1)一致性:数组中存储的所有元素都必须是相同数据类型的。
(2)有序性:数组中的元素是有序的,可以通过数组下标来访问的。
(3)不可变性:数组一旦初始化,数组中的元素个数就不可变了。
3、特点
(1)数组可分为一维数组、二维数组以及多维数组。
(2)数组中数值元素的默认值是0,引用元素的默认值是null。
(3)数组的索引都是从0开始,如果数组内有n个元素,那么最大下标就是(n-1)。
(4)数组元素的类型可以是任何的数据类型,包括数组这一个复合数据类型。
(5)数组类型是从抽象类 Array 派生的引用类型。
二、一维数组的声明和分配
一维数组(one-dimensional array)本质上是一组相同类型数据的线性集合,是数组中最简单的一种数组。
创建一维数组,声明格式:
type[] arr; // 数据类型[] 数组名;
以上声明格式中,数据类型既可以是基本数据类型,也可以是引用数据类型。数组名可以是任意合法的变量名。例如:
int[] score; // 数组内数据类型为整型,用来存储学生的成绩
String[] name; // 数组内数据类型为字符串型,用来存储学生的名字
double[] hight; // 数组内数据类型为浮点型,用来存储学生的身高
值得注意的是,在声明的时候,不需要给数组规定长度,如:
int[10] score; // 这是错误声明
在声明了数组之后,就可以给数组分配空间:
score = new int[10];
name = new String[20];
hight = new double[30];
当然,也可以直接在声明数组的时候,直接给数组进行分配空间,具体格式如下:
type[] arr=new type[10]; // 数据类型[] 数组名=new 数据类型[10];
例如,声明一个 int 类型,长度为5的数组 arr。
int[] arr=new int[5];
执行 arr 数组后,在内存中的格式如下:
注:在这里,一旦声明了数组的大小,那么就不可改变。因此数组的长度是必须要声明的,不可少!
三、初始化一维数组的方法
已经将数组声明好了,也分配好了空间,那么就需要将数组应用起来。
(1)使用 new 指定数组的大小后,并对数组进行初始化赋值。
int[] arr=new int[5];
int[0] = 1;
int[1] = 2;
int[2] = 3;
int[3] = 4;
int[4] = 5;
此时,arr 这个数组内的每个位置都有一个相对应的初始值了。
(2)直接通过 new 直接指定数组中的值。
int[] arr=new int[]{1,2,3,4,5}sh
例如,声明一个 int 类型,长度为5的数组 arr。
int[] arr=new int[5];
执行 arr 数组后,在内存中的格式如下:
注:在这里,一旦声明了数组的大小,那么就不可改变。因此数组的长度是必须要声明的,不可少!
三、初始化一维数组的方法
已经将数组声明好了,也分配好了空间,那么就需要将数组应用起来。
(1)使用 new 指定数组的大小后,并对数组进行初始化赋值。
int[] arr=new int[5];
int[0] = 1;
int[1] = 2;
int[2] = 3;
int[3] = 4;
int[4] = 5;
此时,arr 这个数组内的每个位置都有一个相对应的初始值了。
(2)直接通过 new 直接指定数组中的值。
int[] arr=new int[]{1,2,3,4,5}
上面这个式子的表达意思如上面的一样,同样都是赋给了 arr 数组初始值。
值得注意的是,该式子不能既指定数组长度,又要指定内容。
int[] arr=new int[5]{1,2,3,4,5}; // 这是错误写法
(3)直接在数组声明后指定数值。
int[] arr={1,2,3,4,5};
如果程序中已经对数组声明过了,那么只能使用上面两种赋值方法。如果数组还未声明,那么就可以使用第三种方法进行赋值。但是要注意的是,第三种方法必须是声明和初始化同步操作,不能分布,否则会报错。
int[] arr;
arr = {1,2,3,4,5};
// 该表示方法是错误的
四、总结
以上就是关于 Java 数组的基本概念、特性和特点的介绍,以及数组中的一维数组的声明,以及进行初始化的方法详解的全部内容。想要了解更多相关 Java 数组其他分类的内容,可以搜索W3Cschool里面的相关文章。如果本文对大家的学习有所帮助,还希望大家能够多多关注和支持我们!