从0学Java(五)do-while循环

lzhlzh263
发布于 2023-1-11 14:27
浏览
0收藏

上篇我们讲了while循环,它会首先判断一个条件是否满足,如果条件满足,则执行后面紧跟着的语句或语句括号,然后再次判断条件是否满足,如果条件满足则再次执行,直到条件不满足为止。后面紧跟的语句或语句括号,就是循环体。


do-while循环和while循环很像,唯一的区别是我们在循环体执行结束的时候才来判断条件。也就是说,无论如何,循环都会执行至少一遍,然后再来判断条件。与while循环相同的是,条件满足时执行循环,条件不满足时结束循环。

①do-while循环  

案例:数位数,如果给你一串数字,让你通过编程,让计算机判断出这一串数字是几位数,你打算怎么写?

  • 程序要读入一个正整数,然后输出这个整数的位数。如:
  • 输入:3452,输出:4

人看一眼就能看出来,这是4位数,但计算机是通过判断数的范围来决定它的位数,但如果是128475753943828482.....让人数怎么办,这时候就得依靠计算机,因为计算机最擅长的就是做算法,让这串数字每除以10就记一位,这样是不是就可以,让我们试一下。 


从0学Java(五)do-while循环-鸿蒙开发者社区

从0学Java(五)do-while循环-鸿蒙开发者社区

从0学Java(五)do-while循环-鸿蒙开发者社区


这么看好像完全没有问题,但往往没有问题的时候就会出现问题,如果是这一串数字是0呢,大家在这个代码上试一下。 

从0学Java(五)do-while循环-鸿蒙开发者社区

代码运行起来会显示0,这显然是不对的,0的位数是1,那如果用do-while循环是不是就可以把问题解决掉,在进入循环体之前不做判断,而是在执行完一轮循环体的代码之后,再来检查循环的条件是否满足,如果满足则继续下一轮循环,不满足则结束循环。

//初始化
    Scanner in = new Scanner(System.in);
    int number = in.nextInt();
    int count=0;
  do
    { 
      number =number/10;
      count = count +1;
      
    }
    while(number >0);
    System.out.println(count);  
      }
    
  }


从0学Java(五)do-while循环-鸿蒙开发者社区


ok,现在输入0显示的位数是1,说明是对的,那再测试一下其他数。

从0学Java(五)do-while循环-鸿蒙开发者社区

我做了while循环和do-while循环,两个流程图让他们更加明朗一点

从0学Java(五)do-while循环-鸿蒙开发者社区

从0学Java(五)do-while循环-鸿蒙开发者社区


本文转载自公众号:java极客技术

标签
已于2023-1-11 14:27:43修改
收藏
回复
举报
回复
    相关推荐