困难

基本的

学习时间

30分钟

适合人群

零基础

开发语言

爪哇

开发环境 1.遍历数组

需要:

定义一个数组,数组元素为数字1-5,请显示输出“第一个数字为1”等。

想法:

定义一个 int 类型的数组。 由于要存储的元素是已知的java输出数组,所以数组用花括号 {} 初始化。 取出每一个元素,用一个int类型的变量接收,然后显示输出。

完成:

java输出数组_java怎么输出数组_java输出数组是地址

结果:

java怎么输出数组_java输出数组是地址_java输出数组

从运行结果来看,是正确的。

但是大家有没有发现一个问题,如果我要存储1-100的数字,然后取出每个元素进行显示输出呢? 那是不是一定要定义100个变量来接收这100个元素呢? 10,000 呢? 这种写法肯定是有问题的。

如果有办法把它们一个一个取出来,然后显示输出就好了。 出色地? 这种方法看起来像一个循环吗? 我循环取出每个元素,数组下标不是从0开始的吗? 我从0开始累加,一直累加到数组的最大下标。 我认为这是一个很好的方法。

给大家介绍一个数组的朋友,叫“遍历”,也叫“迭代”。 它们意味着数组中的每个元素都被环出。 使用的工具是循环语句。

2.for循环遍历数组

我们先看看for循环的格式:

java输出数组_java输出数组是地址_java怎么输出数组

for 循环由初始化表达式、条件表达式、步骤表达式和循环体组成。

需要:

将数字1-5存入数组,然后取出每个元素进行显示输出。 显示输出格式为“第x个元素是:x”。

想法:

定义一个 int 类型的数组。 因为我们已经知道数组中存储的元素是什么,所以我们使用大括号{}来初始化数组。 因为每个元素都需要取出来显示输出,所以用for循环一个一个取出来。 初始化表达式负责定义一个计数器,用于记录当前要取的元素的下标。 条件表达式负责判断计数器是否小于数组长度,因为如果下标超出,就会出现数组下标越界异常。 步骤表达式负责递增计数器。 循环体负责根据当前计数器取出数组中的元素,然后显示输出。

完成:

java输出数组_java怎么输出数组_java输出数组是地址

结果:

java怎么输出数组_java输出数组是地址_java输出数组

工作流程:

java怎么输出数组_java输出数组_java输出数组是地址

循环的第一遍,i = 0, i < 5 => true, number = numbers[0] => number = 1, i++ => i = 1;

java输出数组是地址_java输出数组_java怎么输出数组

第二个循环,i = 1, i < 5 => true, number = numbers[1] => number = 2, i++ => i = 2;

java怎么输出数组_java输出数组_java输出数组是地址

第三次循环java输出数组,i = 2, i < 5 => true, number = numbers[2] => number = 3, i++ => i = 3;

第四个循环,i = 3, i < 5 => true, number = numbers[3] => number = 4, i++ => i = 4;

java输出数组_java怎么输出数组_java输出数组是地址

循环第五次,i = 4, i < 5 => true, number = numbers[4] => number = 5, i++ => i = 5;

循环到第六次,i = 5, i < 5 => false,循环结束。

注意:

强烈推荐使用for循环遍历数组。

3.在遍历数组的同时

我们先来看看while循环的格式:

while 循环由条件表达式和循环体组成。

while循环和for循环的区别在于它没有初始化表达式和步进表达式,所以我们需要把初始化表达式放在循环之前,把步进表达式放在循环中。

需要:

将数字1-5存入数组,然后取出每个元素进行显示输出。 显示输出格式为“第x个元素是:x”。

想法:

定义一个 int 类型的数组。 因为我们已经知道数组中存储的元素是什么,所以我们使用大括号{}来初始化数组。 因为每个元素都需要取出来显示输出,所以用while循环一个一个取出来。 初始化表达式负责定义一个计数器,用于记录当前要取的元素的下标。 由于while循环和for循环结构的不同,初始化表达式应该在while循环之前完成。 条件表达式负责判断计数器是否小于数组长度,因为如果下标超出,就会出现数组下标越界异常。 步骤表达式负责递增计数器。 由于while循环和for循环结构的不同,step表达式应该放在while循环体中。 循环体负责根据当前计数器取出数组中的元素,然后显示输出。

完成:

java输出数组是地址_java怎么输出数组_java输出数组

结果:

java怎么输出数组_java输出数组_java输出数组是地址

注意:

累加计数器的动作应该放在循环的末尾。 因为计数器的原始值需要参与运算,所以不能先累加计数器的原始值,再参与运算。 比如计数器一开始的原值是0,然后进入循环体,突然累加起来。 本来要取数组下标0的元素,结果却取下标1的元素。 那么下标为0的元素永远取不到,所以累加计数器操作放在循环体的末尾。

4.do-while遍历数组

我们先看一下do-while循环的格式:

java输出数组_java输出数组是地址_java怎么输出数组

do-while 循环由条件表达式和循环体组成。 do-while和while循环的区别在于do-while会先执行一次循环体,然后判断下一次循环的条件表达式。

do-while循环和for循环的区别在于它没有初始化表达式和步进表达式,所以我们需要把初始化表达式放在循环之前,把步进表达式放在循环中。

需要:

将数字1-5存入数组,然后取出每个元素进行显示输出。 显示输出格式为“第x个元素是:x”。

想法:

定义一个 int 类型的数组。 因为我们已经知道数组中存储的元素是什么,所以我们使用大括号{}来初始化数组。 因为每个元素都需要取出来显示输出,所以用while循环一个一个取出来。 初始化表达式负责定义一个计数器,用于记录当前要取的元素的下标。 由于do-while循环和for循环的结构不同,初始化表达式应该在do-while循环之前完成。 条件表达式负责判断计数器是否小于数组长度,因为如果下标超出,就会出现数组下标越界异常。 步骤表达式负责递增计数器。 由于do-while循环和for循环的结构不同,step表达式应该放在do-while循环中。 循环体负责根据当前计数器取出数组中的元素,然后显示输出。

完成:

java怎么输出数组_java输出数组_java输出数组是地址

结果:

java怎么输出数组_java输出数组_java输出数组是地址

注意:

使用 do-while 遍历数组已被弃用。

原因:

如果数组中没有元素,我们就执行循环体中的内容,导致程序异常。 这种做法是不正确的。 再者,当我们给出一个超过数组最大下标的值时,也会导致程序异常,因为没有通过条件表达式的判断。 因此,请不要使用do-while 遍历数组。

数组基础小结:章节小结

至此,Java中数组详解的讲解就告一段落了,更多内容请继续关注。

回答提问