#秋日生活打卡季#
分类:
1. 顺序结构
2. 选择结构
3. 循环结构
循环语句的组成:
初始语句:
一条或者多条语句,这些语句完成一些初始化操作
判断条件语句:
这是一个Boolean表达式,这个表达式决定
是否执行循环体
循环语句:
这个部分是循环语句体,也是我多次要做到事情
控制条件语句:
这个部分在一次循环体结束后,下次循环判断条件执行
前执行。通过控制体的变量,使循环体在合适的时候结束
循环语句分类:
1.for循环
2.while循环
3.do…………while循环
for循环:for循环格式: for(初始语句;判断语句;控制语句;){ 循环语句体; } 执行流程: A: 执行初始语句 B:执行判断条件语句,看结果是ture还是false 如果是false循环结束 如果是true继续执行 C :执行循环语句 D :执行条件语句 E :回到B继续 for循环例子: class Li{public static void main(String[] args){for(int x=1;x<=10;x++) { System.out.println("HellowWorld"); } } } 注意事项: A:关系表的式无论简单还是复杂,结果必须是boolean类型 B:if语句控制的语句体如果是一条语句体,大括号可以省略 如果是多条语句体,就不可省略,提议永远不要省略。 C:一般来说:有左大括号没有分号;有分号就没 例子 在控制台输出所以水仙花数? 水仙花数是一个三位数,其各位数字的立方和等于该数本身 举例:153就是一个水仙花数 1*1*1+5*5*5+3*3*3=153 class Li{public static void main(String[] args){/* 我们通过for循环可以实现获取每一个三位数 但是麻烦的是如何获取这个三位数的个,十,百位上的数据 假设有一个数据153 个位:153%10=3 十位:153/10%10=5 百位:153/10/10%10=1 千位:x/10/10/10%10 万位:x/10/10/10/10%10 */ for(int x=100;x<1000;x++) { int ge = x%10; int shi = x /10%10; int bai = x/10/10%10; //让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较 if(x==ge*ge*ge+shi*shi*shi+bai*bai*bai){ //如果一样就输出 System.out.println(x); } } } } 例子二:统计水仙花的个数 class Li{public static void main(String[] args){ int y = 0; for(int x=100;x<1000;x++) { int ge = x%10; int shi = x /10%10; int bai = x/10/10%10; //让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较 if(x==ge*ge*ge+shi*shi*shi+bai*bai*bai){ //如果满足要求就计数 y++; } } System.out.println(y); } }
while循环语句 基本格式: while(判断语句){ 循环语句; } 扩展格式: 初始语句while(判断语句){ 循环体语句; 控制条件语句; }while例子:class Li{public static void main(String[] args){ int x = 1; while(x<=10){ System.out.println("HellowWWord"); x++; } } }
/*使用区别:如果你想在循环结束后,继续使用控制条件的那个变量,用while循环 否在就用for循环。不知道的境况用for循环 由于变量及早的从内存中消失,可以提高内存使用效率 如果是一个范围的,用for循环超级明确 如果名确要做多少次,用while循环 */区别例子:class Li{public static void main(String[] args){ for(int x = 0;x<10;x++){ System.out.println("再牛的肖邦,以也弹不出各哥的悲伤"); } System.out.println(y); //在这里就不能接续访问y int s = 0; while(s<10){ System.out.println("再牛的肖邦,以也弹不出各哥的悲伤"); } System.out.println(z); //在这里就能接续访问z } } 题:珠穆朗玛峰高8848米一张纸厚0.01米请问叠几次可以超过珠穆朗玛峰 class Li{public static void main(String[] args){int y = 0; int z = 1; while(z<884800){ z*=2; if(z<884800){ y++; } } System.out.println(y);//输出结果20 } }
do…while循环的解释和例题详解
基本格式: do{ 循环语句; }while(判断条件语句); 扩展格式: 初始语句; do{ 循环语句体; 控制条件语句体; }while(判断条件语句); /*循环语句的区别:do...while循环至少执行一次循换体 而for,while循环必须先判断条件是否成立,然后再决定是否执行循环体语句 那么,我们一般先思考for其次是while最后是do....while */
很重大:
输出语句System.out.println()(它输出另起一行)
输出语句的另一中方式Systm.out.prin()(它输出不另起一行)
如果Systm.out.prin()想另起一行可以用System.out.println()空的起换行作用
循环嵌套代码讲解
循环嵌套:就是循环语句的循环体是一个循环语句 例子:输出4行5列星星*图案class Li{public.static.void main(String[] args){for(int x = 1;x<4;x++){for(int z =1;z<5;z++){ System.out.prin("*"); } System.out.println(); } } } 结论:/*通过结果我们知道这样的一个结论:外循环控制行数,内循环控制列数*/ 需求:请输出下列形状: * ** *** **** ***** 答案:class Li{public static void main(String[] args){for(int x=0;x<5;x++){for(int y=0;y<x;y++){ System.out.print("*"); } System.out.println(); } } } 需求:请输出九九乘法表class Li{public static void main(String[] args){for(int x=1;x<=9;x++){for(int y=1;y<=x;y++){ System.out.print(y+"*"+x+"="+y*x+" "); } System.out.println(); } } }