那么接着我们上期的学习带你入门Java之每日3分钟Java——方法深入,这期我们呢来了解下Java中很常用的数据结构,也就是数组。




容器和数组

生活当中我们经常会把同类的食物放进一个罐子里面,那么这个罐子就起了食物容器的作用。同样的,数据也有自己的容器。那么数组就是一种用于存储多个同类型数据的容器,它的特点是存储数据的个数长度初始是固定的。这点也很好理解,因为我们生活中的瓶瓶罐罐的大小也是固定的。

如何来定义使用一个数组

我们在Java中如果想要使用一个数组,那么和变量一样,我们需要先定义数组,格式为

数组内数据类型[] 数组名称 = new 数组内数据类型[存储的数据个数];

数组内存放的数据类型是不唯一的,可以是我们在之前文章中学习的基本数据类型,也可以是自定义数据类型。或者可以使用Java最底层的类,也就是Object对象类,它是所有的对象类的父类。

数组名称是我们访问数组的钥匙,其命名规则参考我们提到变量标识符的那一期。

在这里我们出现了一个新的Java关键字new。new关键字指的是分配一个新的内存空间,这是很重要的关键字,在后面我们会比较多地使用到。

存储的数据个数需要我们进行指定,这个值一旦确定,那么我们创建的数组长度就不可以再改变。new关键字会计算我们指定的数据类型需要的内存空间和存储数据个数的乘积来确定总空间,为我们分配执行相关操作必要的空间。

数组也有一开始就放入元素值来创建数组的方法,比如如下的两种形式:

数组内数据类型[] 数组名称 = new 数组内数据类型[]{数据元素1,数据元素2,数据元素.....}

数组内数据类型[] 数组名称 = {数据元素1,数据元素2,数据元素.......}

这样我们创建的数组内的数据内容就是我们指定的数据内容,长度也是我们初始存入的数据个数,一般用于存入已经提前确定的各种常量。

存取数组元素

数组是一种顺序存储结构,指的是在内存上顺序存储元素值。我们访问数组只需要数组名称和对应的元素下标。在Java中,数组元素下标从0开始,到数组长度-1为上限。我们使用格式:数组名称[数组下标索引值] 即可存取数组中的元素,这种知道数组名称就可指定访问元素的方式我们成为随机存取。数组内部的数据元素的具体值是可变的。

我们如果想要查看数组全部元素的值,需要使用到我们之前学习的循环操作。设置上限为数组的长度-1,而这一属性我们使用数组名称.length即可访问。这种查看校验全部数组元素的操作,我们称之为对数组的遍历。

操作数组的注意事项

  1. 数组的空指针错误要了解这一点,我们首先需要知道Java中数组的本质。还记得我们之前提到的new关键字吗?数组的实质实际上是将我们的数组名称变量指向new关键字分配的内存的开头。如果我们在创建了数组后,做了把NULL赋值给数组名称的操作,那么这时候去使用数组,就会出现空指针错误。
  2. 数组的超出范围错误这种错误常出现在我们使用循环遍历数组的时候。数组的长度是有限的,要记住第一个数组元素是从0下标开始的,我们需要注意的就是控制上限,上限是数组长度-1,这是数组满的时候最后一个数组元素的下标值。

数组在方法中的使用

结合我们之前数据类型那一期的介绍,数组属于引用类型。因此数组可以在方法中作为方法的参数和返回值类型。我们可以将数组作为方法的参数,注意这时候传递的是数组的引用,我们在方法中对数组的任何改变值的操作都会改变我们数组元素的值。这点和C语言中的传递数组是不同的。如果确认数组的值在方法中不需要改变,我们可以在参数列表的数组前加上const关键字,声明为常量,这样就能保证数组不变。同样我们可以返回一个数组,返回的其实也是我们在方法内创建的数组的内存地址。

判断方法的参数传入的规则一句话叫作:传引用,即地址。传递基本,即传值。要牢记。

下期预告:带你入门Java之每日3分钟Java——再谈类和对象

1.《java如何从数组中随机读取》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《java如何从数组中随机读取》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3227408.html