数组的定义

Posted menghujava

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组的定义相关的知识,希望对你有一定的参考价值。

前面我们知道了Java中的数据类型可以分为两大类

一是:基本数据类型,二是:引用数据类型

引用数据类型又分为:类,接口和数组

这一次我们的内容就是数组

我们先了解一下为什么要有数组这个东西

 假如让你定义一百个int类型的变量,并给他们每个都赋值

我相信你一定会搞得心烦意乱,这样也使我们代码太多的重复

好了,其实就是想骗你们用数组。

其实数组的的创建有很多种

第一种:

数据类型 [] 变量名 = new 数据类型 [参数]

参数:表示你想要这个数组的长度,一定不能为空也不能为0

 参数不能过大,如果数组需求的内存超过了虚拟机的内存将会Bomm!

上手代码:

技术分享图片

使用这种方法创建时,每个索引的值都为默认值

这时我们创建了一个数组,那么我们该如何去使用他呢?

这时就是有一个概念叫做:下标 (个人喜欢叫索引)

索引有很重要的一点就是:索引是从0开始的,从0开始,从0开始

使用索引时不能超过数组的长度,否则抛出异常,程序停止(和蓝屏差不多)

上面说了每个索引都为默认值,现在就给各个索引赋值吧

赋值?不就是等号吗?不不不,可以去参考一下前的赋值运算符文章

技术分享图片

在这说一下数组越界的问题,其实有个简单的技巧

如数组长度为5,那么这个数组的最大索引就为4

最大索引长度就是数组长度减1的值,

原因其实很简单:

数组长度从1开始,数组索引从0开始

所以最大索引就比长度少1

 

赋完值后我们就要来使用值,当然是用索引了

如果是这样:

System.out.println(array[0]);

System.out.println(array[1]);

...

这肯定是不行的,代码重复性太高了

我们发现一个规律一直是索引在递增

利用这个规律,我们写个循环,从0开始一直递增

循环肯定需要一个循环条件,循环条件肯定是和索引有关系的

索引有个要求:不能超出最大索引,求最大索引的方法在上面说了

我们就差一个数组长度,使用语法:数组名.length 就可以得到长度

方法图:

技术分享图片

这个方法还有一个响亮的名字:数组遍历

这里简要说明几个问题

1.为什么i初始化为0?

因为索引是从0开始的

2.循环条件简单解释一下

索引小于等于最大索引(数组长度-1)

3." "代表什么

其中是转义字符t 表示Tab,既每一次打印增加一个空格

运行结果:

8   45  36 56  16

 

到这时,我们任然发现这个数组赋值比较麻烦

就可以使用我们数组创建的第二种方法:

数据类型 [] 变量名 = {值,值,值};

这个方法就可以初始化且赋值,多个值使用逗号隔开

 

第三种:

数据类型 [] 变量名 = new 数据类型 [] {值,值,值};

这种方法有点像一和二的结合体,虽然我们从来没用过

这里有个要求就是两个[] 内不能有值

 

我们应该要掌握这些东西:

数据的创建,使用,遍历

以上是关于数组的定义的主要内容,如果未能解决你的问题,请参考以下文章

thinkcmf七牛云怎么定义数组

如何定义一个动态的数组?

c语言数组的定义

C 语言数组 ( 数组指针 | 数组指针定义 | 使用 数组类型* 定义数组指针 )

matlab 定义数组问题?

C 语言数组 ( 数组指针 | 数组指针定义 | 使用 数组指针类型 定义数组指针 )