第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_循环结构_循环概述与基础
第10节循环结构-for-while-do..while_第1张图片
1_1_10_10_循环结构_for循环

第10节循环结构-for-while-do..while_第2张图片
第10节循环结构-for-while-do..while_第3张图片

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

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循环
第10节循环结构-for-while-do..while_第4张图片
*第10节循环结构-for-while-do..while_第5张图片第10节循环结构-for-while-do..while_第6张图片
第10节循环结构-for-while-do..while_第7张图片

/*
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循环

第10节循环结构-for-while-do..while_第8张图片第10节循环结构-for-while-do..while_第9张图片第10节循环结构-for-while-do..while_第10张图片第10节循环结构-for-while-do..while_第11张图片

/*
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之间的偶数

第10节循环结构-for-while-do..while_第12张图片
在这里插入图片描述

/*
题目: 求出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_三种循环的区别
第10节循环结构-for-while-do..while_第13张图片
在这里插入图片描述第10节循环结构-for-while-do..while_第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_死循环
第10节循环结构-for-while-do..while_第15张图片
在这里插入图片描述
–死循环后不能执行其他

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

死循环的标准格式:
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_循环嵌套

第10节循环结构-for-while-do..while_第16张图片第10节循环结构-for-while-do..while_第17张图片第10节循环结构-for-while-do..while_第18张图片第10节循环结构-for-while-do..while_第19张图片
第10节循环结构-for-while-do..while_第20张图片
第10节循环结构-for-while-do..while_第21张图片
第10节循环结构-for-while-do..while_第22张图片

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; // 跳出当前循环
					}
				}
			}
		}

	}
}

你可能感兴趣的:(1-1-Java基础语法)