第10节循环结构-for-while-do..while

2019年6月26日星期三
17时4分21秒

第10节循环结构-for-while-do…while

目录
1_1_10_09_循环结构_循环概述与基础	2
1_1_10_10_循环结构_for循环	2
1_1_10_11_循环结构_while循环	2
1_1_10_12_循环结构_do-while循环	2
1_1_10_13_练习_用循环求出1-100之	2
1_1_10_14_三种循环的区别	2
1_1_10_15_循环控制_break语句	2
1_1_10_16_循环控制_continue语句	2	
1_1_10_17_死循环	2
1_1_10_18_循环嵌套	2

1_1_10_09_循环结构_循环概述与基础
在这里插入图片描述
1_1_10_10_循环结构_for循环

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

/*
循环结构的基本组成部分,一般可以分为四部分

1. 初始化语句: 在循环开始最初执行,而且只做唯一一次
2. 条件判断: 如果成立,则循环继续;如果不成立,则循环退出
3. 循环体: 重复要做的事情内容,若干行语句。
4. 步进语句: 每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次
*/
public class Demo09For {
	public static void main (String[] args) {
		//输出一百遍 1、复制粘贴100遍 2、循环
		/*
		for (初始化语句;条件判断;步进语句) {
			循环体
		}
		*/
		for (int i=1; i <= 100; i++) {
			System.out.println("我错了!" + i);
		}
		System.out.println("程序停止");
		
	}
}

1_1_10_11_循环结构_while循环
在这里插入图片描述
***
在这里插入图片描述

/*
while循环有一个标准格式,还有一个扩展格式。

标准格式:
while (条件判断) {
	循环体
}

扩展格式:

初始化语句:
while (条件判断) {
	循环体;
	步进语句;
}
*/
public class Demo10While {
	public static void main (String[] args) {
		for (int i = 1; i <= 10; i++) {
			System.out.println("我错了!" + i);
		}
		System.out.println("=================");
		
		int i = 1; // 1. 初始化语句
		while (i <= 10) { // 2. 条件判断
			System.out.println("我错了!" + i); // 3. 循环体
			i++; // 4. 步进语句
		}
		
	}
}

1_1_10_12_循环结构_do-while循环

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

/*
do-while循环的标准格式:

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

扩格式::

初始化语句
do {
	循环体
	步进语句
} while (条件判断);

特点: 至少执行一次
*/
public class Demo11DoWhile {
	public static void main (String[] args) {
		for (int i = 1; i <= 10; i++) {
			System.out.println("原谅你了!起来吧!地上怪凉!" + i);
		}
		
		System.out.println("============================"); 
		
		int i = 1; // 1. 初始化语句
		do {
			System.out.println("原谅你了!起来吧!地上怪凉!" + i); // 3. 循环体
			i++; // 4. 步进语句
		}while (i <= 10); // 2. 条件判断
	}
}

1_1_10_13_练习_用循环求出1-100之间的偶数

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

/*
题目: 求出1-100之间的偶数和

思路:
1. 既然范围已经确定了是1和100之间,那么我就从1、2、3......一直到100这么多数字一个一个进行检查。
2. 总共有100个数字,并发所有数字都能用。必须要是偶数才能用,判断(if语句)偶数: num % 2 == 0
3. 需要一个变量,用来进行累加操作。也就好比是一个存钱罐

*/
public class Demo12HundredSum {
	public static void main (String[] args) {
		int sum = 0; // 用来累加的存钱罐
		
		// for循环
		for (int i = 1; i <= 100; i++) {
			if (i % 2 == 0) { // 如果是偶数
				sum += i;
			}
		}
		System.out.println("for-价格是: " + sum);
		
		// while循环
		int i = 1; // 1. 初始化
		while ( i <= 100 ) { // 2. 条件判断
			if (i % 2 == 0) { // 如果是偶数
				sum += i; // 3. 循环体
			}
			i++; // 4. 步进语句
		}
		System.out.println("while-价格是: " + sum);
		
		// do...while
		int di = 1;
		do{
			if (di % 2 == 0) { // 如果是偶数
				sum += di; // 3. 循环体
			}
			di++;
		}while( di <= 100 );
		System.out.println("do...while-价格是: " + sum);
		
	}
}

1_1_10_14_三种循环的区别
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

/*
三种循环的区别

1. 如果条件判断从来没有满足过,那么for循环和while循环将会执行0次,但是do-while循环至少一次。
2. for循环的变量在小括当中定义,只有循环内部才可以使用。
*/
public class Demo13LoopDifference {
	public static void main(String[] args){
		for(int i = 1; i < 0; i++){
			System.out.println("Hello");
		}
		// System.out.println(i); // 这一行是错误写法!因为变量i定义在for循环小括内,只有for循环才能使用
		System.out.println("=================");
		
		int i = 1;
		do{
			System.out.println("World");
			i++;
		}while(i < 0);
		// 现在已经超出了do-while循环的范围,我们仍然可以使用变量i
		System.out.println(i); // 2
	}
}

1_1_10_15_循环控制_break语句

/*
break关键字的用法有常见的两:

1. 可以用在switch语句当中,一旦执行,整个switch语句立结束。
2. 还可以用在循环语句当中,一旦执行,整个循环语句立结束。打断循环。

关于循环的的选择,有一个小建议
凡是次数确定的场景多用for循环;否则多用while循环

*/
public class Demo14Break{
	public static void main(String[] args){
		for (int i = 1; i <= 10; i++){
			// 如果希望从第四次开始,后续全都不要了,就要打断循环
			if(i == 4){ // 如果当前是第四次
				break; // 那么打断整个循环
			}
			System.out.println("Hello" + i);
		}
		
	}
}

1_1_10_16_循环控制_continue语句

/*
另一种循环控制语句是continue关键字。
一旦执行,立跳过当前次循环剩余内容,马上开始下一次循环。

*/
public class Demo15Continue{
	public static void main(String[] args){
		for(int i =1; i <= 10; i++){
			if(i == 4){ // 如果当前是第四层
				continue; // 那么跳过当前次循环,马上开始下一次(第5层)
			}
			System.out.println(i + "层到了。");
		}
		
	}
}

1_1_10_17_死循环
在这里插入图片描述
在这里插入图片描述
–死循环后不能执行其他

/*
永远停不下来的学号,叫做死循环。

死循环的标准格式:
while(true){
	循环体;
}

Ctrl + C 结束
*/
public class Demo16DeadLoop{
	public static void main(String[] args){
		/*
		for(int i = 1; i <= 10; ){
			System.out.println("Hello" + i);
		}
		*/
		
		while(true){
			System.out.println("I Love java!");
		}
		
		System.out.println("Hello"); // 错误! 
	}
}

1_1_10_18_循环嵌套

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

public class Demo17LoopHourAndMinute{
	public static void main(String[] args){
		/*
		// 外层执行24次 内层执行24*60次 内内层24*60*60次
		for(int hour = 0; hour < 24; hour++){ // 外层控制小时
			
			for(int minute = 0; minute < 60; minute++){ // 内层控制小时之内的分钟
				
				for(int mm = 0; mm < 60; mm++){ // 内内层控制小时之内的分钟之内的秒钟
					System.out.println(hour + "点" + minute + "分" + mm + "秒");
				}
			}
		}
		*/
		
		/*
		// 跳出当前的多重嵌套循环_1
		ok:for(int hour = 0; hour < 24; hour++){ // 外层控制小时
			
			for(int minute = 0; minute < 60; minute++){ // 内层控制小时之内的分钟
				
				for(int mm = 0; mm < 60; mm++){ // 内内层控制小时之内的分钟之内的秒钟
					System.out.println(hour + "点" + minute + "分" + mm + "秒");
					if(hour == 1){
						break ok;
					}
				}
			}
		}
		*/
		
		// 跳出当前的多重嵌套循环_2
		boolean found = false;
		for(int hour = 0; hour < 24 && !found; hour++){ // 外层控制小时
			
			for(int minute = 0; minute < 60 && !found; minute++){ // 内层控制小时之内的分钟
				
				for(int mm = 0; mm < 60; mm++){ // 内内层控制小时之内的分钟之内的秒钟
					System.out.println(hour + "点" + minute + "分" + mm + "秒");
					if(hour == 1){
						found = true; // 使外层循环判断条件变为false则终止整个循环
						break; // 跳出当前循环
					}
				}
			}
		}

	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值