Java基础(十)---- for , while , do...while 循环语句


一、循环概述

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

二、for循环语句

1.for循环语句格式

for(初始化表达式①,布尔表达式②,步进表达式④){
	循环体③;
}

2.for循环语句结构组成

1.初始化语句:在循环最开始最初执行,而且只做唯一一次
2.条件判断:如果成立,则循环继续,如果不成立,则循环退出
3.循环体:重复要做的事情内容,若干行语句
4.步进语句:每次循环结束之后都要进行的扫尾工作

3.执行流程

执行顺序:①②③④ → ②③④ → ②③④ → → ②不满足为止
①负责完成环境变量初始化
②负责判断是否满足循环条件,不满足则跳出循环
③具体执行的语句
④循环后,循环变量的变化情况

在这里插入图片描述

代码实战 — 打印一百句HelloWorld
学习了for循环我们不必再使用一百个输出语句
使用for循环几行代码即可搞定

//for循环 --- 代码实例
for(int i = 1 ; i <= 100 ; i++) {
	System.out.println("HelloWorld"+",第"+i+"个");
}

【tips】
这里要特别注意循环次数的问题,
i的初始值为0时,i<100即可,打印时需要(i+1)。

实战升级:
1.打印一百句HelloWorld,中间逗号隔开
2.每十句换行一次
3.最后用句号结尾
.
案例分析:
1.使用for循环打印一百句HelloWorld
2.判断i是否为10的倍数
3.使用if…else语句对十10的倍数,和非10的倍数进行区分
4.需要循环体循环99次,第100次使用输出语句打印,以句号结尾

for(int i = 1 ; i < 100 ; i++) {
	if(i == 0){
	System. out. print ("") ;
	}else
	if(i % 10 == 0 && i != 0) {
	system. out. println("HelloWorld,"+i);
	}else {
	system. out.print("HelloWorld,");
	}
}//循环体最后一次循环i的值为99,这并不是循环的结束,步进表达式依旧会+1,当布尔表达式为false时,才是for循环的结束
System. out.println("HelloWorld。"+(i));
System. out.print1n("一共"+(i)+"个,HelloWorld");

三、while循环语句

1.while循环语句的格式

标准格式

while(条件判断){
	循环体;
}

拓展格式

初始化表达式①;
while(条件判断②){
	循环体③;
	步进表达式④;
}

2.while循环语句的执行流程

(以拓展格式为例)

执行顺序:①②③④ → ②③④ → ②③④ → → ②不满足为止
①负责完成环境变量初始化
②负责判断是否满足循环条件,不满足则跳出循环
③具体执行的语句
④循环后,循环变量的变化情况

在这里插入图片描述
在这里插入图片描述

//while循环 --- 代码实例
int i = 1;//初始化语句
while(1 <= 10){//条件判断
	System.out.println("HelloWorld");//循环体
	i++;//步进语句
}

【tips】

  1. 当while循环主体有且只有一个语句时,大括号可以省略
  2. 在while循环语句中,只有一个判断条件时,它可以是任何表达式,判断条件为真时,循环就会执行一次,重复测试条件重复循环主,直到判断条件为假时,才会跳离while循环

四、do…while循环语句

1.do…while循环语句格式

初始化表达式①;
	do{
	循环体③;
	步进表达式④;
	}while(布尔表达式);

2.do…while循环语句执行流程

执行顺序:①③④ → ②③④ → ②③④ → → ②不满足为止
①负责完成环境变量初始化
②负责判断是否满足循环条件,不满足则跳出循环
③具体执行的语句
④循环后,循环变量的变化情况

在这里插入图片描述

//do...while循环 --- 代码实例
int i = 1;//初始化语句
	do{
	System.out.println("HelloWorld");//循环体
	i++;//条件控制
}while(i <=10);//条件判断

五、循环语句的区别

1.区别

  1. 如果条件判断从来没有满足过,那么for循环和while循环会执行0次,但是do…while循环会至少执行一次
  2. for循环的变量在小括号中定义,只有循环内部才可以使用,while循环和do…while循环的初始化语句本来就在外面,出来循环后仍可继续使用

2.代码实例

案例要求:
使用三种循环计算100以内的偶数和
.
案例分析:
1.定义变量的取值范围为[0-10]
2.使用取余运算符%判断是否为偶数
3.使用复合运算符+=,将偶数结果进行累加

//1.使用for循环
		int a = 0 , sum1 = 0 ;
		for(a = 0 ; a <= 100 ; a++){
			if(a % 2 == 0){
				sum1 += a;
			}
		}
		System.out.println("for,结果为:"+sum1);
		System.out.println("===========================");
//2.使用while循环
		int b = 0 ,sum2 = 0;
		while(b <= 100){
			if(b % 2 == 0){
				sum2 += b;
			}
			b++;
		}
		System.out.println("while,结果为:"+sum2);
		System.out.println("===========================");
//1.使用do...while循环
		int c = 0, sum3 = 0;
		do{
			if(c % 2 == 0){
				sum3 += c;
			}
			c++;
		}while(c <= 100);
		System.out.println("do...while,结果为:"+sum3);
		System.out.println("===========================");

六、跳出语句

1.break

常见用法

1.可以用在switch语句中,一旦执行整个switch语句立马结束
2.也可以使用在循环语句中,一旦执行整个循环语句立马结束

for(int i = 1 ; i <= 10 ; i++){
		if(i == 5){
		break;//如果循环到 i 等于 5 ,则循环立马终止
		}
		System.out.println(i);
		//打印结果为:
		//			1
		//			2
		//			3
		//			4
}

建议

循环次数固定,多采用for循环;否则采用while循环

2.continue

用法

一旦遇到continue关键字,跳过当前循环剩余的内容,直接进行下一次循环

for(int i = 1 ; i <= 5 ; i++){
	if(i == 2){
		continue;//continue关键字后的内容不会被运行
		System.out.println(i);//当 i 等于 2 时,这一行以及后的内容都不会被运行
	}
	System.out.println(i);
	//打印结果为:
	//			1
	//			3 没有 2 
	//			4
	//			5
}

七、死循环和嵌套循环

1.死循环

1.for

for(初始化语句;布尔表达式;/*步进表达式*/)

当不写步进表达式时,初始化语句一直满足布尔表达式,造成无限循环

2.while(标准格式)

while(条件判断){
	循环体;
}

当while的条件判断,为true时,会无限循环

2.嵌套循环

1.定义

指一个循环体里有另外一个循环。比如for循环里面还有一个for循环,这就是嵌套循环。
总循环次数=外循环次数*内循环次数

2.练习

案例(1)
要求:
打印一天里的每一分钟
.
案例分析:
1.先使用一个for循环打印24小时
2.再使用一个for循环打印60分钟
3.将二者合并

for(int hour = 0 ; hour <= 24 ; hour++){
	for(int minute = 0 ; minute <= 60 ; minute++){
		System.out.println(hour+"时"+minute+"分");
	}
}

案例(2)
要求:
打印乘法口诀表

for(int i = 1 ; i <= 9 ; i++){
	for(int j = 1 ; j <= i ; j++){
		System.out.print(j+"*"+i+"="+(i*j)+",");
	}
	System.out.println("");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值