数组

     在编程语言中,数组这个词,重点在“组”上,而不是“数”。它表示的是一类数据的一个集合,数据类型可以是任何类型,而不只是数值(如整数)。

代码样例

第十九章:Java编程之数组_for循环

代码简析:

  1. main方法是程序执行入口。
  2. 第9行定义了一个字符串类型的数组,初始大小设置为2,表示这个数组最多能容纳2条数据。
  3. 第10行,设置数组的第一条数据为“杨超越”。
  4. 第11行,设置数组的第二条数据为“郑爽”。

注意:数组的访问,是通过上面代码样例中的中括号加数字标号来访问的,第一条数据是从0开始标记的。这一点非常重要,所有集合类型中涉及到标号的时候,都是从0开始的。

除了上面字符串类型的数组,还可以有各种类型的:

第十九章:Java编程之数组_java_02

整型数组

第十九章:Java编程之数组_二维数组_03

字节数组

访问数组

      我们把数据放到一个数组里,不是闲得没事干,放进去,肯定是为了更好地解决问题。放进数组,就是为了把对单条数据的处理逻辑,自动变成对所有数据的公共处理逻辑。为了达到这个效果,我们就必须要有一种依次处理数组中所有数据的方法,这种方法在编程语言中,我们称为“循环”。样例如下:

第十九章:Java编程之数组_java_04

代码简析:

  1. main方法是程序执行入口。
  2. 第9行,定义了一个字符串数组,数组大小为5,可以容纳5条数据。
  3. 第10到14行,依次设置了数组中的5条数据。
  4. 第15到17行,通过一个for循环,依次处理数组的5条数据,执行的代码为第16行。for循环的详细用法,后面章节会详细讲解。
另一种定义数组的方式

      前面是先定义数组,后面再逐个设置值。其实还有更简便的方式,那就是直接把两个步骤合二为一。优秀的程序员,都是能少写一行,就少写一行,绝对不多敲一次键盘。

第十九章:Java编程之数组_for循环_05

代码简析:

  1. 第9行,定义了一个字符串数组,同时指定了数组中的所有数据。
  2. 第10到12行,循环打印数组中所有数据。

程序执行结果:

第十九章:Java编程之数组_数据_06

如果觉得这个名单前面缺少数字编号,我们可以加一下:

第十九章:Java编程之数组_数据_07

对比前面代码,上面代码只是在11行打印数据的时候,在名字前面拼上了数字序号和一个“.”。

效果如下:

第十九章:Java编程之数组_二维数组_08

不过这次,前面的序号是从0开始的,如果大家觉得不好的话,我们可以让编号从1开始:

第十九章:Java编程之数组_数据_09

上面代码,对每个编号,做了加1操作,这样编号就变成从1开始了。

效果如下,怎么样?

第十九章:Java编程之数组_二维数组_10

修改数组内数据值

第十九章:Java编程之数组_java_11

代码简析:

  1. 第10行,修改了数组中的第4条数据的值,原先这个地方是“热巴”,现在修改成了“迪丽热巴”。
多维数组

     前面我们介绍的是一维数组,数组还可以是多维的,用来表示更多的信息。下面我们拿二位数组来举例介绍一下:

第十九章:Java编程之数组_for循环_12

代码简析:

  1. 这段代码就要稍微长一些了,是一个二位数组的使用样例。
  2. 第9行,定义了一个二位数组变量arr,后面的两个数字就是两个维度的数量。
  3. 第10行到28行,就是对这个二维数组里的各条数据进行赋值。
  4. 第30到35行,打印这个二维数组。

第十九章:Java编程之数组_二维数组_13

可能大家看到上面的例子,对二维数组的理解还是不清楚,我们可以想象成一个excel表格,数据就是放在一个个格子里。

第十九章:Java编程之数组_数组_14

如果是三维数组,可以想象成三维空间里物体的位置。当然具体需要几维,这个取决于我们的业务需求。当然,一般用得最多的还是一维数组。