JAVA_for+do...while循环结构

简介: JAVA_for+do...while循环结构

1 for循环语法结构

for (初始表达式; 布尔表达式; 迭代因子) {
      循环体;
}

  for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。for循环在第一次反复之前要进行初始化,即执行初始表达式;随后,对布尔表达式进行判定,若判定结果为true,则执行循环体,否则,终止循环;最后在每一次反复的时候,进行某种形式的“步进”,即执行迭代因子。


     A. 初始化部分设置循环变量的初值,赋值一次后不再进行赋值,接下来就是迭代因子不断初始化表达式


     B. 条件判断部分为任意布尔表达式


     C. 迭代因子控制循环变量的增减


     for循环在执行条件判定后,先执行的循环体部分,再执行步进。


     for循环结构的流程图如图3-18所示。

图3-18 for循环流程图

2 for循环  

public class Test {
    public static void main(String[] args) { 
        int sum = 0;
        //1.求1-100之间的累加和
        for (int i = 0; i <= 100; i++) {
            sum += i;
        }
        System.out.println("Sum= " + sum);
        //2.循环输出9-1之间的数
        for(int i=9;i>0;i--){
            System.out.print(i+"、");
        }
        System.out.println();
        //3.输出90-1之间能被3整除的数
        for(int i=90;i>0;i-=3){
            System.out.print(i+"、");
        }
        System.out.println();
    }
}

运行效果图

     Java里能用到逗号运算符的地方屈指可数,其中一处就是for循环的控制表达式。在控制表达式的初始化和步进控制部分,我们可以使用一系列由逗号分隔的表达式,而且那些表达式均会独立执行。

3 逗号运算符 

public class Test {
    public static void main(String[] args) { 
        for(int i = 1, j = i + 10; i < 5; i++, j = i * 2) {
            System.out.println("i= " + i + " j= " + j); 
        } 
    }
}

运行效果图

     1. 无论在初始化还是在步进部分,语句都是顺序执行的。

     2. 尽管初始化部分可设置任意数量的定义,但都属于同一类型。

   3. 约定:只在for语句的控制表达式中写入与循环变量初始化,条件判断和迭代因子相关的表达式。

     初始化部分、条件判断部分和迭代因子可以为空语句,但必须以“;”分开,如示例3-12所示。

4 无限循环

public class Test {
    public static void main(String[] args) { 
        for ( ; ; ) {    // 无限循环: 相当于 while(true)
            System.out.println("赵广陆");
        }
    }
}

 编译器将while(true)与for(;;)看作同一回事,都指的是无限循环。

     在for语句的初始化部分声明的变量,其作用域为整个for循环体,不能在循环外部使用该变量。如示例3-13所示。

5 初始化变量的作用域

6 do...while语法结构:

do {
        循环体;
     } while(布尔表达式) ;

do-while循环结构会先执行循环体,然后再判断布尔表达式的值,若条件为真,执行循环体,当条件为假时结束循环。do-while循环的循环体至少执行一次。do-while循环结构流程图如图3.15所示。


aHR0cHM6Ly93d3cuc3h0LmNuLzM2MHNob3AvUHVibGljL2FkbWluL1VFZGl0b3IvMjAxNzA1MTYvMTQ5NDkxOTM0NzE4NzA1Ni5wbmc.png


do-while流程图


7 do-while循环结构:1-100之间的累加和

public class Test {
    public static void main(String[] args) { 
        int i = 0;
        int sum = 0;
        do {
            sum += i; // sum = sum + i
            i++;
        } while (i <= 100);//此处的;不能省略
        System.out.println("Sum= " + sum);
    }
}

运行效果图

8 while与do-while的区别

public class Test {
    public static void main(String[] args) { 
        //while循环:先判断再执行
        int a = 0;
        while (a < 0) {
            System.out.println(a);
            a++;
        }
        System.out.println("-----");
        //do-while循环:先执行再判断
        a = 0;
        do {
            System.out.println(a);
            a++;
        } while (a < 0);
    }
}

运行效果图

注:从运行效图中可以看出do-while总是保证循环体至少会被执行一次!

目录
相关文章
|
7月前
|
Java
Java 循环结构
4月更文挑战第9天
|
3月前
|
Java
java基础(2)循环语句for、while、do...while
本文介绍了Java中的基础循环语句,包括for循环、while循环和do...while循环。文章通过示例代码展示了for循环的基本结构和用法,while循环的先判断后执行逻辑,以及do...while循环的先执行后判断逻辑。这些循环语句在Java编程中非常常用,用于执行重复的任务。
58 4
java基础(2)循环语句for、while、do...while
|
4月前
|
Java C语言
|
6月前
|
存储 Java 数据处理
Java中的循环结构语句详解与实战应用
Java中的循环结构语句详解与实战应用
78 2
|
7月前
|
Java
Java中的循环结构详解
Java中的循环结构详解
144 1
|
7月前
|
Java
Java中的判断和循环结构
Java中的判断和循环结构
55 1
|
7月前
|
Java
Java程序设计基础——循环结构
Java程序设计基础——循环结构
|
7月前
|
Java C语言
【Java开发指南 | 第十二篇】Java循环结构
【Java开发指南 | 第十二篇】Java循环结构
33 2
|
7月前
|
Java
JAVA循环结构分析与设计
JAVA循环结构分析与设计
69 1
|
7月前
|
Java 测试技术
Java一分钟之-循环结构:for与while循环
【5月更文挑战第8天】本文探讨了Java中两种主要的循环结构——`for`和`while`循环。`for`循环适用于已知迭代次数的情况,常见问题包括无限循环、初始化错误和作用域混淆。`while`循环适用于循环次数未知但条件明确的情况,需注意更新条件、死循环初始化和逻辑错误。避免错误的策略包括明确循环目的、检查边界条件、管理迭代变量、进行代码审查和测试,以及使用增强型`for`循环。正确理解和使用这些循环能提升代码质量。
43 0
下一篇
DataWorks