JAVA java学习(32)——————java流程控制之循环结构(while循环和do-while循环)

顺序结构的程序语句只能被执行一次。如果您想要同样的操作执行多次,,就需要使用循环结构。

循环是程序中的重要流程结构之一。循环语句能够使程序代码重复执行,适用于需要重复一段代码直到满足特定条件为止的情况。

所有流行的编程语言中都有循环语句。Java 中采用的循环语句与C语言中的循环语句相似,主要有 while、do-while 和 for。另外 Java 5 之后推出了 for-each 循环语句,for-each 循环是 for 循环的变形,它是专门为集合遍历而设计的。for-each 并不是一个关键字。

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体。当反复执行这个循环体时,需要在合适的时候把循环条件改为假,从而结束循环,否则循环将一直执行下去,形成死循环。

循环语句可能包含如下 4 个部分。

  • 初始化语句(init statement): 一条或多条语句,这些语句用于完成一些初始化工作,初始化语句在循环开始之前执行。
  • 循环条件(test_expression):这是一个 boolean 表达式,这个表达式能决定是否执行循环体。
  • 循环体(body_statement):这个部分是循环的主体,如果循环条件允许,这个代码块将被重复执行。如果这个代码块只有一行语句,则这个代码块的花括号是可以省略的。
  • 迭代语句(iteration_statement):这个部分在一次循环体执行结束后,对循环条件求值之前执行,通常用于控制循环条件中的变量,使得循环在合适的时候结束。

上面 4 个部分只是一般性的分类,并不是每个循环中都非常清晰地分出了这 4 个部分。

while 循环

特点:先判断,后执行
while是最基本的循环,它的结构为:

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

其中语句块中的代码可以是一条或者多条语句,而条件布尔表达式是一个有效的 boolean 表达式,它决定了是否执行循环体。当条件表达式的值为 true 时,就执行大括号中的语句块。
只要布尔表达式为 true,循环就会一直执行下去。

执行完毕,再次检查表达式是否为 true,如果还为 true,则再次执行大括号中的代码,否则就跳出循环,执行 while 循环之后的代码。
在这里插入图片描述
例1:
1+2+。。。+100,求和?



public class YuFa14 {

	public static void main(String[] args) {
		int i=1;
		int count=0;
		while(i<=100){
			count=count+i;
			i++;
		}
		System.out.println("1到100之间的和为:"+count);
	}

}


在上述代码中,定义了两个变量 i 和 count,循环每执行一次 i 值就加 1,判断 i 的值是否小于等于 100,并利用 count=count+i语句来实现累加。当 i 的值大于 100 之后,循环便不再执行并退出循环。
在这里插入图片描述

例2:
计算1000以内奇数及偶数的和,并输出。


public class YuFa15 {

	public static void main(String[] args) {
		int i=1;
		int sum1=0;
		int sum2=0;
		while(i<=1000){
			if(i%2==0){
				sum1+=i;
			}else{
				sum2+=i;
			}
			i++;
		}
		System.out.println("1到1000之间的偶数和为:"+sum1);
		System.out.println("1到1000之间的奇数和为:"+sum2);
	}

}

在这里插入图片描述
例3:
输出1到1000间能被5整除的数,且每行输出5个。


public class YuFa16 {

	public static void main(String[] args) {
		int h=0;
		int i=1;
		while(i<=1000){
			if(i%5==0){
				System.out.print(i + "\t");
				h++;
			}
			i++;
			//换行
			if(h==5){
				System.out.println();
				h = 0;
			}
		}

	}

}

在这里插入图片描述

do…while 循环

特点:先执行,后判断
对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次。
do…while 语句的语法格式如下:

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

注意:布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。 如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false。
其运行流程如图所示。
在这里插入图片描述

例4:


public class YuFa17 {

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

	}

}

在这里插入图片描述

while和do-while的比较

while 循环和 do-while 循环的相同处是:都是循环结构,使用 while(循环条件) 表示循环条件,使用大括号将循环操作括起来。

while 循环和 do-while 循环的不同处如下:

  • 语法不同:与 while 循环相比,do-while 循环将 while 关键字和循环条件放在后面,而且前面多了 do 关键字,后面多了一个分号。
  • 执行次序不同:while 循环先判断,再执行。do-while 循环先执行,再判断。
  • 一开始循环条件就不满足的情况下,while 循环一次都不会执行,do-while 循环则不管什么情况下都至少执行一次。

例5:
产生随机数(1-100),当随机数是88的时候,我们就停止,并且计算产生了几次循环!

/**
 * 生成 0-100 随机数,直到生成 88 为止,停止循环!
 * @豆皮没有豆
 */
public class YuFa18 {

	public static void main(String[] args) {
		int count=0;//用于计数,循环的次数
        while(true) {
        	count++;//循环一次,计数器加一
            int i=(int)(100*Math.random());//随机生成0-100的数
            if(i==88) {
                break;
            }
       }
        System.out.println("产生了" +count+"次循环!");

	}

}

上一篇:JAVA java学习(31)——————java流程控制之switch case多分支选择结构

下一篇:JAVA java学习(33)——————java流程控制之循环结构(for循环)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豆皮没有豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值