搜索
写经验 领红包
 > 房产

java中循环的几种方式(java中的循环结构)

导语:全面总结JAVA中的循环(深入浅出),老司机请回答文章最后的问题

概述

顺序结构的程序语句只能被执行一次。如果你想要让程序反复执行同一段代码,就需要使用循环结构。在循环语句中,这段反复被执行的语句叫做循环体,只有在满足一定循环条件的前提下,循环体才回反复执行。因此,关于循环流程,我们可以总结出以下几点:

1、必须要有循环条件,循环条件的结果是一个boolean类型的值

2、必须要有循环体,循环体可以是任何程序语句(包括循环)

3、必须要有结束条件,也就是说,程序需要在合适的时机将循环条件的结果改为false,否则循环将永远执行下去,这种永远执行的不会结束的循环叫做死循环,我们在编程的时候要尽量避免出现死循环。

在JAVA中,有三种方式可以实现循环:while语句、do...while语句和for语句。

while循环

在JAVA中,While循环是最为基本的一种循环控制流程,while语句的基本结构为:

while( 循环条件 ) { //循环体//步进表达式}

只有循环条件为true的时候,程序才会一直执行循环体。例如我们编写一个循环输出一定范围整数的程序:

while循环的循环体里面必须包含步进表达式,步进表达式的执行会影响循环条件的结果,当循环条件的结果是false的时候,while循环结束,while循环的执行流程图如下:

do...while循环

前面介绍了while循环,我们通过while循环的执行流程图可以看出,while循环开始的时候就要判断循环条件,如果循环条件的结果是false的话,程序就进入不了while循环,例如上面循环输入整数的程序中如果i初始化为9,那么程序将不会进入while循环,程序也就不会有任何输出:

有些情况下,我们希望循环至少执行一次,比如我们希望无论循环条件是否成立,都要先输出一次i的值,这个时候,我们需要用的do...while循环语句。do...while循环的语法结构如下:

do {//代码语句} while (循环条件);

可以看出,do...while语句的循环条件在循环体后面,所以在程序判断循环条件是否成立之前,循环体就已经执行了一次。执行完一次之后,剩下的流程就和while循环完全一样了。所以do...while循环语句能够满足“无论循环条件是否成立,先输出一次i”的需求:

do...while语句的执行流程图如下:

for循环

坦白地说,在JAVA中,我们通过while循环和do...while就已经能够实现所有关于循环的需求,但是,java提供了一种在循环执行之前就已经确定了循环次数的语句,使得循环结构变得更加简单,这就是for循环,它的语法结构如下:

for(初始变量; 循环条件; 初始变量的增量或者减量) { //循环体}

for循环的执行流程图和while循环一样:

通过for循环来实现前面“输出整数的程序”如下:

通过上面的程序,我们可以看出for循环比while循环的代码要简洁一些,这也是为什么for循环最为常用的原因,正因为for循环很常用,我们需要总结以下几点:

1、for循环的for关键字后面的括号里面是两个分号;隔开的三段内容,第一段是初始变量,第二段是循环条件,第三段是初始变量的增量或者减量。

2、for循环最先执行的是初始变量这部分,初始变量可以是一个或者多个,也可是时空语句。

3、然后,程序开始判断循环条件,如果为true,执行循环体,如果是false,循环终止。

4、每执行一次循环体之后,程序就开始执行一次对初始变量的增量或者减量,然后再次判断循环条件。

增强型for循环

JDK5进入了增强型for循环,增强型for循环主要用于更方便的操作数组或者集合。它的语法结构如下:

for(声明循环变量 : 目标数组或者集合) { // 代码句子}

声明循环变量:声明一个局部变量用于逐个扫描目标数组或者集合里面的值,其类型必须和目标数组元素或者集合里面元素的类型一致。

例如,我们编写一个输出数组里面所有数据的程序:

需要补充的是,增强for循环的意义在于简化了程序的编写,我们编程的时候,希望降低问题的复杂性,而增强for循环正好能够消除循环中对变量的复杂分析过程,使得编程更加语义化,这一点尤为重要,需要大家不断去体会。

break 关键字和continue关键字

循环中可以通过break关键字来跳出循环,例如:

循环中可以通过continue关键字让程序立即跳转到下一次循环,例如:

问题:

JAVA中的循环语句内在灵活性,我们该如何在选择合适的循环语句完成特定的需求?

请各位给出自己的见解,如果想知道我的想法的话,请点赞,如果点赞多的话,我会在评论区写一下我的见解,或者专门谈一下这个话题。

本文内容由快快网络小芦创作整理编辑!