Java的do…while循环

来自CloudWiki
跳转至: 导航搜索
  • do…while循环与while循环的区别在于:while循环是先判断循环条件,如果循环条件为真则执行循环体;而do…while循环则是“先做再说”,即先执行循环体,然后才判断循环条件,如果循环条件为真,则执行下一次循环,否则中止循环。
  • do…while循环的语法结构如下:
[初始化语句]
do
{ 
循环体语句块
[迭代语句]
} while (判断条件);
  • 图2-15 do…while循环流程图
  • Java2-17.png
  • 与while循环不同的是,do…while循环的判断条件后必须有一个分号,这个分号表明循环结束。
  • 例如:当循环变量count小于10时,执行循环体。
public class DoWhileTest {
	public static void main(String[] args) {
		// 循环变量的初始化
		int count = 1;
		// 执行do...while循环
		do {
			System.out.println("啊。。。五环,你比四环多一环!");
			//迭代语句
			count++;
		}while(count < 10);
		System.out.println("循环结束!");
	}
}
  • 即使判断条件(也就是循环条件)的值开始就是假,do…while循环也会执行循环体。因此,do…while循环的循环体至少执行一次。下面这个代码段验证了这个结论:
public class DoWhileTestTwo {
	public static void main(String[] args) {
		// 循环变量的初始化
		int count = 20;
		// 执行do...while循环
		do {
			System.out.println("啊。。。五环,你比四环多一环!");
			//迭代语句
			count++;
		}while(count < 10);
		System.out.println("循环结束!");
	}
}
  • 从上面的程序来看,虽然开始count的值就是20,count<10表达式返回false,但do…while循环还是会把循环体执行一次。

案例精选

  • 使用do...while循环计算1累加至10。

Java2-77.png

public class DoWhileTest {
	public static void main(String[] args) {
		// 循环变量的初始化
		int count = 1;
		// 执行do...while循环
		do {
			sum += count;
			//迭代语句
			count++;
		}while(count < 11);
		System.out.println("循环结束!");
	}
}
  • 找出100~200之间能被7整除的数:
public class test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int i = 100;
		do{
			if(i%7 == 0){
				System.out.println(i+",");
			}
			i++;
		}while(i<200);

	}

}

Java练习

  • 用do...while输出1~100之间能被7整除但不能同时被5整除的所有整数。
  • 用do...while编写程序,接收身高、体重等数据,能够不断计算不同用户的BMI值,

体质指数(BMI)=体重(kg)÷(身高(m)*身高(m))


  • 练习:用do-while循环设计一个从1累加至n的程序(n >0,n是整数)。

返回 Java程序设计