循环结构
循环作用:当满足特定条件时,反复的执行某一段代码。循环提高了代码的可读性以及简单程度,解决了冗余(复杂)问题。
循环定义:当满足特定条件的情况下,反复执行某一段代码或者操作。
一、循环的分类
1、while循环
while循环的语法格式: while (循环条件) { 循环语句 } 当循环条件成立时(为真),执行循环语句,直到循环条件为假,结束循环。
练习:打印1~100之间不是7的倍数也不包含7的数
num = 1; while (num < 101) { if ((num % 7 != 0) && (num % 10 != 7) && (num % 100 / 10 != 7) && (num / 100 !=7)) { System.out.println(num); } num++; } System.out.println("----------"); System.out.println("请输入一个整数:"); Scanner scanner = new Scanner (System.in); int n = scanner.nextInt(); int count = 1; while (n / 10 != 0) { n /= 10; count++; } System.out.println(count); scanner.close();
2、do...while循环
do...while循环的语法格式: do { 循环语句 } while (循环条件);
注:do...while循环尾部的封号不能省略!!!
练习:打印1~100之间所有数字
int num = 1; do { System.out.println(num); num++; } while (num < 101);
do...while循环与while循环的区别:
1>两者除了结构与执行顺序稍有区别之外,本质是一样的。
2>while先判断条件再执行语句,如果第一次条件判断就为假,那么循环语句就一次都不执行,所以while循环的执行次数 >= 0
3>do...while先执行语句再判断条件,哪怕第一次判断为假,也已经执行过一次循环语句,所以do...while循环的执行次数 >= 1
3、for循环
for循环的语法格式: for (循环变量初始化; 循环条件; 循环增量) { 循环语句 }
练习:打印1~100之间所有数字
for (int i = 1; i < 101; i++) { System.out.println(i); }
循环的组成部分:
1、循环变量初始化
2、循环条件
3、循环语句
4、循环增量
二、循环嵌套练习
打印乘法表 for (int i = 1; i < 10; i ++) { for (int j = 1; j < i + 1; j ++) { System.out.print(j + "*" + i + "=" + i * j + " "); } System.out.println(); }
三、循环控制的关键字
break continue
通过循环控制的关键字,可以实现再循环过程中改变循环的执行流程,从而达到灵活控制循环的作用。
1、break放在循环内部,可以立马终止此循环,哪怕循环条件依旧满足,也可以终止的是本层循环,break写在那个循环内部,
终止的就是那个循环。
练习:打印1~100之间的数字,当遇到第一个7的倍数时,结束打印
int num = 1; while (num < 101) { if (num % 7 == 0) { //break的作用跳出本层循环 //break写在哪个循环里面,终止的就是此循环 //不管此循环还要执行多少次,都不会执行 break; } System.out.println(num); num ++; }
2、continue 终止本次循环,在循环语句中continue之后的代码,在当次循环中不再执行!!!
练习:计算1~100之间所有奇数的和
num = 0; //声明累加变量 int sum = 0; while (num < 100) { num ++; if (num % 2 == 0) { //continue的作用,跳过本次循环,执行下一次 continue; } sum += num; }
注:这两个关键字在循环中使用时,通常会与if语句连用。