文章目录
循环高级
5.1 无限循环
// for格式无限循环
for (;;){
System.out.println("nihao");
}
// while 格式无限循环
while (true){
System.out.println(123);
}
5.2 跳转控制语句
5.2.1 continue
- continue:跳过本次循环 执行下一次循环
- continue:结束本次循环,进入下一次循环
for (int i = 1; i <= 5; i++) {
if (i==3){
//continue:跳过本次循环,此时下面剩余的语句不再执行;开始执行新的下一次循环
continue;
}
System.out.println("这是"+i);
}//输出结果为 :这是1、这是2、这是4、这是5
5.2.2 break
- break :结束当前循环
- break语句终止某个循环,程序跳转到循环块外的下一条语句
- 当break在内层循环时,会结束内层循环,但是不会结束外层循环。
- 当break在外层循环时,外层循环结束,同时内层循环也结束。
for (int i = 1; i <= 5; i++) {
if (i==3){
// break 结束整个循环,继续执行本循环块下面的语句
break;
}
System.out.println("这是"+i);
}//输出结果为 :这是1、这是2
System.out.println("执行下面");
---------------------------------------------------------
for (int i = 1; i <= 5; i++) {
System.out.println("这是"+i);
if (i==3){
// break 结束整个循环
break;
}
}//输出结果为 :这是1、这是2、这是3
5.3break/continue/return
-
continue:结束本次循环,进入下一次循环
-
break :结束当前循环
-
return:结束当前方法(结束程序)
5.3 循环练习
5.3.1 平方根
package codemo7;
import java.util.Scanner;
public class demo4 {
public static void main(String[] args) {
/*需求:键盘录入一个大于等于2的整数 x ,计算并返回 x 的 平方根 。
结果只保留整数部分 ,小数部分将被舍去 。*/
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数字");
int number = sc.nextInt();
for (int i = 1; i <= number; i++) {
if (i * i == number) {
System.out.println(i + "是" + number + "的平方根");
break;//结束当前循环
} else if (i * i > number) {
System.out.println((i - 1) + "是" + number + "的平方根");
break;//结束当前循环
}
}
}
}
5.3.2 逢七过
package codemo7;
public class demo3 {
public static void main(String[] args) {
// 逢七过
// 1-100
for (int i = 0; i <= 100; i++) {
if (i % 10 == 7 || i / 10 % 10 == 7 || i % 7 == 0) {
System.out.println("过");
//结束本次循环,进入下一次循环
continue;
}
System.out.println(i);
}
}
}
5.3.3 质数判断
package codemo7;
import java.util.Scanner;
public class demo5 {
public static void main(String[] args) {
// 需求:键盘录入一个正整数 x ,判断该整数是否为一个质数。
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个正整数");
int number = sc.nextInt();
boolean flag = true;
for (int i = 2; i < number; i++) {
if (number % i == 0) {// 9%2==1
flag = false;
break;//跳出整个for循环
}
// System.out.println(123);
}
if (flag) {
System.out.println("这是一个质数");
} else {
System.out.println("这不是一个质数");
}
}
}