欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

Java流程控制之循环结构while、do...while

时间:2022-05-22 08:21:25|栏目:JAVA代码|点击:

本篇笔记内容记录while循环以及do…while循环,下一篇将讲述for循环以及延伸出来的增强型for循环(Java5新加)

前言:

在了解了选择结构之后,我们发现,仅通过选择结构,无法让程序一直跑着,我们每次运行就停止了。这在真实环境中肯定是不行的,比如网站的服务器,需要24小时无休地跑着,以及程序跑多少次等等。

为了解决这个问题,循环结构自然而然地诞生了!

顺序结构的程序语句只能跑一次(执行一次)。而很多时候,需要执行的一个步骤需要多次实现,这个时候使用循环结构无疑是很好的选择。

Java中有三种主要的循环结构:

  • while 循环
  • do…while 循环
  • for 循环

1、while 循环

while是最基本的循环,它的结构为:

while( 布尔表达式 ) {
//循环内容
}

如图:

实例助解:输出10-15 x的值。

   public static void main(String args[]) {
      int x = 10;
      while( x < 16 ) {
         System.out.print("x的值 : " + x );
         x++;
         System.out.print("\n");
      }
   }

输出演示,如图:

注意:一少部分情况需要循环一直执行,如服务器的请求、响应、监听等。

public static void main(String[] args) {
while (true){
//等待客户端连接
//定时检查
//......
}
}

注意:

  • 循环条件一直为true就会造成无限循环(死循环),我们正常的业务编程中应该尽量避免无限循环。
  • 无限循环可能会影响程序性能或者造成程序崩溃。

实例助解:1+2+3+...+100的和

public static void main(String[] args) {
  int i = 0;
  int sum = 0;
  while (i <= 100) {
   sum = sum+i;
   i++;
  }
  System.out.println("Sum= " + sum);
}

输出演示,如图:

在这里插入图片描述

相关故事:

其实说到1+2+3+…+100这个实例,我们可能会联想到一位有名的数学家——高斯,他9岁时实现了1到100的快速求和。具体点儿来说,高斯当时用很短的时间计算出了小学老师布置的任务:对自然数从1到100的求和。他所使用的方法是:对50对构造成和101的数列求和(1+100,2+99,3+98……),同时得到结果:5050。

2、do…while 循环

对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。这个时候,do…while的出现解决了这一问题。
do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次。

do {
//代码语句
}while(布尔表达式);

如图:

我们用do…while循环一下上面的1-100之和的例子

public static void main(String[] args) {
  int i = 0;
  int sum = 0;
  do {
    sum = sum+i;
    i++;
   }while (i <= 100);
  System.out.println("Sum= " + sum);
}

输出演示,如图:

3、while和do…while的区别

  • while先判断后执行。do…while是先执行后判断
  • Do…while总是保证循环体会被至少执行一次

实例助解:a=1时 while(a<1)和do…while(a<1)的区别

   public static void main(String[] args) {
        int a = 1;
        System.out.println("==========while==========");
        while(a<1){
            System.out.println(a);
            a++;
        }
        System.out.println("==========do...while==========");
        do{
            System.out.println(a);
            a++;
        } while (a<1);
    }

输出演示,如图:

上一篇:SpringBoot使用阿里OSS实现文件云存储的方法

栏    目:JAVA代码

下一篇:java实现文件上传、下载、图片预览

本文标题:Java流程控制之循环结构while、do...while

本文地址:http://www.codeinn.net/misctech/202584.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有