1:循环(掌握) (1)如果我们发现有很多重复的内容的时候,就该考虑使用循环改 进代码。 让我们代码看起来简洁了。 (2)循环的组成 A:循环体,就是要做的事情。 B:初始化条件。一般定义的是一个初始变量 C:判断条件。用于控制循环的结束。 D:控制条件。用于控制变量的变化。一般都是一个++/--操作。 (3)循环的分类: A:for for(初始化条件;判断条件;控制条件) { 循环体; } 执行流程: a:先执行初始化条件; b:执行判断条件 c:根据判断条件的返回值: true:执行循环体。 false:就结束循环。 d:最后执行控制条件。返回到b继续。 B:while 初始化条件; while(判断条件) { 循环体; 控制条件; } 执行流程: a:先执行初始化条件; b:执行判断条件 c:根据判断条件的返回值: true:执行循环体。 false:就结束循环。 d:最后执行控制条件。返回到b继续。 C:do...while(了解) 初始化条件; do{ 循环体; 控制条件; }while(判断条件); 执行流程: a:先执行初始化条件; b:执行循环体和控制条件; c:执行判断条件 d:根据返回值 true:返回b。 false:就结束循环。 注意: a:一般使用for循环或者while循环。而且这两种循环是 可以等价转换的。 b:do...while循环至少执行一次循环体。 (4)案例:(掌握) A:请在控制台输出5次"我爱Java" B:请在控制台输出1-10的数据。 C:求1-10的和,改进位求1-100的和。 D:求1-100之间偶数的和。 E:求5的阶乘。 /* 需求:求5的阶乘 思路:1. 5的阶乘即5*4*3*2*1 2.通过观察发现跟1+100有异曲同工之处,即可以通过 for循环来满足 */ class Demo2 { public static void main(String[] args) { int x=1; for (int i = 1; i <=5;i++ ) { x*=i; } System.out.println(x); } } F:水仙花。 /* 需求:水仙花。 所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 思路 :1. 所谓"水仙花数"是指一个三位数,从这我们可以看出水仙花数是一个三位数,因此通过for循环来取得三位数的数据 2.水仙花各位数字立方和等于该数据本身,必须先取的水仙花数各位上的数字,该怎么取数字呢? 3.通过%与/取得各位上的数字 */class FlowerDemo { public static void main(String[] args) { for (int i=100; i<=999 ;i++ ) { //定义个位 int a = i % 10; //定义十位 int b = i / 10 % 10; //定义百位 int c = i /100 ; // 判断水仙花各位数字立方和是否等于该数据本身 if (a * a * a + b * b * b + c * c * c == i ) { System.out.println ( i ) ; } } } } G:统计叠多少次,能叠成珠穆朗玛峰的高度。 /* 需求:统计叠多少次,能叠成珠穆朗玛峰的高度。 思路:1.珠穆朗玛峰高度为884800cm,纸张的厚度为1cm, 2.折叠多少次,是一个重复的动作,对重复的次数又不明确,用while循环 3.折叠的次数就是*2,即2的几次幂 */ class Demo1 { public static void main(String[] args) { int i = 1 ; //纸张厚度初始值为1 int count = 0;//折叠次数 while(i<=884800) { i = i << 1;//折叠后的厚度 i = i* 2 ; count ++; } System.out.println(count ); } } (5)循环嵌套:(理解) A:也就是循环语句的循环体是一个循环语句。 B:通过输出 **** **** **** 我们不断的改进。发现了一个问题: 外循环控制行数,内循环控制列数。 (6)案例:(理解) A:正三角形 内循环的判断条件:y<=x for(int x=0; x<5; x++) { for(int y=0; y<=x; y++) { System.out.print("*"); } System.out.println(); } B:倒三角形 内循环的初始化条件:y=x for(int x=0; x<5; x++) { for(int y=x; y<5; y++) { System.out.print("*"); } System.out.println(); } C:九九乘法表(理解) 2:break和continue(掌握) (1)有些时候,我们需要对循环进行一些控制终止,这个时候,就出现了两个关键字: break和continue (2)特点: A:它们都必须在循环中(break还可以在switch中。)。 一般在循环的判断中。 B:如果单独使用break和continue,后面是不能有语句的。 (3)区别: A:break 结束当前循环。 B:continue 结束本次循环,进入下一次循环。 (4)如何退出嵌套循环:(了解) 用带标签的循环。 格式: 标签名:for(){ for(){ if() { break 标签名; } } } 3:应用场景(理解) (1)变量:发现有一个数据是变化的时候,就要用变量。 (2)if语句:如果是一个范围的判断,boolean类型的表达式的判断,几个数据的判断。 (3)switch语句:几个数据的判断。一般这种情况,有限选择switch。 (4)for语句:如果次数或者范围特别明确。(水仙花) (5)while语句:如果次数或者范围不明确。(珠穆朗玛峰) |