Java While循环 do-while循环用法

循环语句就是让计算机根据条件做循环计算,在条件满足时继续循环,条件不满足时退出循环。

Java提供了while条件循环。它的基本用法是:

while (条件表达式) {
 循环语句
}
// 继续执行后续代码

while循环在每次循环开始前,先会判断条件是否成立。如果计算结果为true,就把循环体内的语句执行一遍,如果计算结果为false,那就直接跳到while循环的末尾,继续往下执行。

do while循环的基本结构

do{
//循环体

}while(条件);

与while不同的是,do while先不进行判断,直接先将循环体中的代码执行一遍,然后根据while中的条件的返回值判断,如果符合条件,则再一次运行循环体,如果不符合,则执行do while外面的代码

注意:不论是do while还是while循环,他们的本质都是相同的,符合条件则执行循环体,不符合则执行其他代码,但是,while后面的小括号中的是true的时候,才会循环。

举个例子,用while循环来计算1到100的累加。

public class Main {
 public static void main(String[] args) {
  int sum = 0; // 累加的和,初始化为0
  int n = 1;
  while (n <= 100) { // 循环条件是n <= 100
   sum = sum + n; // 把n累加到sum中
   n ++; // n自身加1
  }
  System.out.println(sum); // 5050
 }
}

执行结果:

5050

值得注意的是while循环是先判断循环条件,再循环,因此,有可能一次循环都不做。如果循环条件永远满足,那这个循环就变成了死循环。死循环将导致100%的CPU占用,用户会感觉电脑运行缓慢,所以要避免编写死循环代码。
如果循环条件的逻辑写得有问题,也会造成意料之外的结果。

下面举个例子:

public class Main {
 public static void main(String[] args) {
  int sum = 0;
  int n = 1;
  while (n > 0) {
   sum = sum + n;
   n ++;
  }
  System.out.println(n); // -2147483648
  System.out.println(sum);
 }
}

执行结果:

-2147483648
-1073741824

表面上看,上面的while循环是一个死循环,但是,Java的int类型有最大值,达到最大值后,再加1会变成负数,结果,就会退出while循环。

小提示

while循环先判断循环条件是否满足,再执行循环语句;

while循环可能一次都不执行;

编写循环时要注意循环条件,并避免程序进入死循环。

do-while循环

前面一篇介绍了while循环语句,这里介绍do-while循环。do-while和while唯一的区别就是,do-while是先做循环,然后去判断,而while循环是先判断,再去循环。说得有点绕口,在同一个例子去实现用while和do-while实现从1到100的求和。

相关代码如下:

package lessons;

public class MyClass {

	public static void main(String[] args) {
		int a= 1;
		int sum = 0;

		while(a <= 100){
			sum += a;
			a++;

		}
		System.out.println(sum);

		int x = 1;
		 int sum1 = 0;
		 do{
			 sum1 += x;
				x++;
		 }while(x <= 100);
		 System.out.println(sum1);
	}
}

运行结果,发现两个循环结果都是5050.自己好好去理解下先循环再判断,这是do-while循环的基本语法。

(0)

相关推荐

  • 举例讲解Java中do-while语句的使用方法

    在学习 do/while 语句之前,先清楚 while 语句是如何工作的.while 语句是先进行条件判断,再执行大括号内的循环体. do/while 语句与 while 语句不同的是,它先执行大括号内的循环体,再判断条件,如果条件不满足,下次不在执行循环体.也就是说,在判断条件之前,就已经执行大括号内的循环体. 示例:计算1+2+3+4......+100的结果. public class control5{ public static void main(String[] args){ in

  • Java中for、while、do while三种循环语句的区别介绍

    本文通过实例讲解给大家介绍Java中for.while.do while三种循环语句的区别,具体详情如下所示: 第一种:for循环 循环结构for语句的格式: for(初始化表达式;条件表达式;循环后的操作表达式) { 循环体; } eg: class Dome_For2{ public static void main(String[] args) { //System.out.println("Hello World!"); //求1-10的偶数的和 int sum = 0; fo

  • 详解Java中的do...while循环语句的使用方法

    对于while语句而言,如果不满足条件,则不能进入循环.但有时候我们需要即使不满足条件,也至少执行一次. do-while循环和while循环相似,不同的是,do-while循环至少会执行一次. do { //代码语句 }while(布尔表达式); do..while循环语句也称为后测试循环语句,它的循环重复执行方式,也是利用一个条件来控制是否要继续重复执行这个语句.与while循环所不同的是,它先执行一次循环语句,然后再去判断是否继续执行.例如,计算1到100之间所有整数的和,也可以使用do.

  • Java中使用While语句自增运算遍历数组典型实例

    public class BirdArray { public static void main(String args[]){ String[] str = new String[]{"麻雀","老鹰","白鸽","黄雀","百灵鸟","孔雀","鹦鹉","丹顶鹤"}; int index =0; //创建索引变量 System.out.prin

  • Java基础入门篇——While循环

    循环结构分两大类,一类是当型,一类是直到型. 当型: 当布尔值表达式条件为True时,反复执行某语句,当布尔表达式的值为False时才停止循环,例如:while 与 for循环. 直到型: 先执行某语句,在判断布尔表达式,如果为true,再执行某语句,如此反复,直到布尔表达式条件为false时才停止循环,例如do - while循环. 语法结构: while (布尔表达式) { 循环体; } 一.循环结构语句 1.在我们实际生活中经常会把同一件事情重复做好几次.例如:潮汕人喜欢喝茶,只要在喝茶的

  • java新特性之for循环最全的用法总结

    1. 增强for概述 增强for循环,也叫Foreach循环,用于数组和容器(集合类)的遍历.使用foreach循环遍历数组和集合元素时,无需获得数组和集合长度,无需根据索引来访问数组元素和集合元素,大大提高的效率,代码也简洁不少. 2. Oracle官网的解释 So when should you use the for-each loop? Any time you can. It really beautifies your code. Unfortunately, you cannot

  • Java循环队列原理与用法详解

    本文实例讲述了Java循环队列原理与用法.分享给大家供大家参考,具体如下: 在正式进行循环队列学习之前,我们先来看看在顺序队列中删除队首元素出现的问题 (1)设一个容量为capacity=8,size=5(a,b,c,d,e)的数组,左侧为队首.右侧为队尾. (2)出队一个元素后,需整体往前移动一位 #出队 #2整体前移一位 关于该种操作方式我们很容易得出时间复杂度为O(n). 这时我们就想可不可以在出队元素后,整体元素不往前移,而是在数组中记下队首front是谁,同时队尾tail指向在下一次元

  • Java程序流程控制:判断结构、选择结构、循环结构原理与用法实例分析

    本文实例讲述了Java程序流程控制:判断结构.选择结构.循环结构原理与用法.分享给大家供大家参考,具体如下: 本文内容: 判断结构 if 选择结构 switch 循环结构 while do-while for for each break.continue return 首发时间:2017-06-22 21:34 修改时间: 2018-03-16 17:01 判断结构: java中使用if作为判断结构 if语句有三种格式: package study.program_struct; import

  • Java for循环的几种用法分析

    J2SE 1.5提供了另一种形式的for循环.借助这种形式的for循环,可以用更简单地方式来遍历数组和Collection等类型的对象.本文介绍使用这种循环的具体方式,说明如何自行定义能被这样遍历的类,并解释和这一机制的一些常见问题. 在Java程序中,要"逐一处理"――或者说,"遍历"――某一个数组或Collection中的元素的时候,一般会使用一个for循环来实现(当然,用其它种类的循环也不是不可以,只是不知道是因为for这个词的长度比较短,还是因为for这个词

  • java中的控制结构(if,循环)详解

    前几天在看一个camera CTS bug时,结果在一个java for循环上有点蒙.正好赶上这个点总结一下. java中的控制结构: 条件结构 这里主要是一些if,if else条件语句来控制代码的流程,不必多说. 循环控制结构 for 循环 while 循环 do while循环 1. while和do while while和do while循环相对for比较简单,他们的使用方式和C语言是一样的,这里就不做过多叙述了.样式如下所示. while(bool表达式){ } do{}while(

  • 详解Java中while和do-while循环、break的使用

    目录 一.循环结构语句 二.while循环语句 三.do-while循环语句 四.break使用 五.总结 循环结构分两大类,一类是当型,一类是直到型. 当型: 当布尔值表达式条件为True时,反复执行某语句,当布尔表达式的值为False时才停止循环,例如:while 与 for循环. 直到型: 先执行某语句,在判断布尔表达式,如果为true,再执行某语句,如此反复,直到布尔表达式条件为false时才停止循环,例如do - while循环. 语法结构: while (布尔表达式) { 循环体;

  • ES6教程之for循环和Map,Set用法分析

    本文实例讲述了ES6教程之for循环和Map,Set用法.分享给大家供大家参考,具体如下: 现在大家先想一想,如果要你遍历一个数组的元素,你会选择如何去做呢?一般都会想起for循环: for (var index = 0; index < myArray.length; index++) { console.log(myArray[index]); } 可惜我得告诉你,这个方法是二十年的人才应该使用的方法,在ES5中已经提出了更为简便的forEach方法,代码如下: myArray.forEac

  • ThinkPHP模板循环输出Volist标签用法实例详解

    本文实例讲述了ThinkPHP模板循环输出Volist标签用法.分享给大家供大家参考,具体如下: volist 标签用于在模板中循环输出数据集或者多维数组. volist 标签 在模块操作中,select() 方法返回的是一个二维数组,可以用 volist 直接输出: <volist name="list" id="vo"> 用 户 名:{$vo['username']}<br /> 电子邮件:{$vo['email']}<br /&g

  • java List循环与Map循环的总结

    java  List循环与Map循环的总结 做了一下list和map的总结,没有什么技术含量,就全当复习了一下api. 测试环境是在junit4下,如果没有自己写一个main方法也是一样的. 首先是List的三种循环: @Test public void ForListTest() { List<String> list = new ArrayList<String>(); list.add("1"); list.add("2"); list

随机推荐