DAY09

DAY09

一 无限循环

又叫死循环。循环一直停不下来。

1.for格式:

for(;;){
    System.out.println("循环执行一直在打印内容");
}

初始化语句可以空着不写,表示循环之前不定义任何的控制变量。

条件判断语句可以空着不写,如果不写,默认表示true,循环一直进行。

条件控制语句可以空着不写,表示每次循环体执行完毕后,控制变量不做任何变化。

2.while格式:

while(true){
    System.out.println("循环执行一直在打印内容");
}

小括号里面就不能省略了,true一定要写出来,否则代码会报错。

3.do...while格式:

do{
    System.out.println("循环执行一直在打印内容");
}while(true);

小括号里面就不能省略了,true一定要写出来,否则代码会报错。

无限循环的注意事项:

  • 最为常用的格式:while
  • 无限循环下面不能再写其他代码了,因为永远执行不到。

二 跳转控制语句

1.continue :跳过本次循环,继续执行下次循环

public class Test01{
	public static void main(String[] args){
        for (int i = 1;i<=5;i++){
            if(i==3){
                continue;//跳过本次循环(本次循环中,下面的代码就不执行了),继续执行下次循环。
            }
            System.out.println("小老虎正在吃" + i + "个包子");
        }
    }
}

2.break :结束整个循环

public class Test02 {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            System.out.println("小老虎正在吃" + i + "个包子");
            if (i == 3) {
                break;//结束整个循环
            }

        }
    }
}

三 练习

1.逢七过

//朋友聚会的时候可能会玩一个游戏:逢7过
//游戏规则:从任意一个数字开始报数,当你要报的数字是包含7或者是7的倍数时都要说过:过
//使用程序在控制台打印出1-100之间的满足逢七必过规则的数据
import java.util.Scanner;
public class Test03{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个正整数");
        int i = sc.nextInt();
        for (int n = 1; n <=i;n++){
            if (n%7 ==0 ||n%10 ==7||n/10 ==7){
                continue;
            }

            System.out.println(n);
        }
    }
}

2.求平方根

//键盘录入一个大于等于2的整数 x ,计算并返回 x 的 平方根 。结果只保留整数部分 ,小数部分将被舍去 。//
import java.util.Scanner;
public class Test04{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个大于等于2的整数");
        int i = sc.nextInt();
        for ( int n = 1; n<=i;n++ ){
            if (n*n >= i){
                System.out.println(n-1);
                break;
            }
        }

    }
}

3.求质数

import java.util.Scanner;
public class Test05 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int i = sc.nextInt();

        //定义一个标记变量,表示标记
        //标志着number是否为一个质数
        //true:表示是质数
        //false:表示不是质数
        //表示最初认为i 是一个质数
        boolean flag = true;


        for (int n = 2; n <= i - 1; n++) {
            if (i % n == 0) {
                flag = false;
                break;
            }
        }
        if (flag) {
            System.out.println("是质数");
        } else {
            System.out.println("不是质数");
        }
    }
}

4.猜数字小游戏

java已经帮我们写好一个类叫Dandom,这个类就可以生成一个随机数

//程序自动生成一个1-100之间的随机数,在代码中使用键盘录入去猜出这个数字是多少?
import java.util.Scanner;
import java.util.Random;
public class Test06{
    public static void main(String[] args){
        Random r = new Random();
        Scanner sc = new Scanner(System.in);
        int count = 0;
        System.out.println("请输入你猜的数字(1-100),你有3次机会");

        /*生成随机数:
        在小括号中,书写的事生成随机数的范围,
        这范围一定是从0开始的
        到这个数减一结束
        口诀:包头不包尾,包左不包右*/
        int number = r.nextInt(100) + 1;//生成1-100的随机数
        int guessnumber;

        for(;;) {
            guessnumber = sc.nextInt();
            count++;

            // 检查是否用完了3次机会
            if (count == 3) {
                if (guessnumber == number) {
                    System.out.println("恭喜你猜对了!");
                } else {
                    System.out.println("很遗憾,3次机会已用完!正确答案是:" + number);
                }
                break;
            }

            // 判断猜的数字大小
            if(guessnumber < number){
                System.out.println("猜小了");
            } else if (guessnumber > number){
                System.out.println("猜大了");
            } else if (guessnumber == number){
                System.out.println("恭喜你猜对了!你用了" + count + "次机会");
                break;
            }

            // 提示用户再次输入(还有机会时)
            System.out.println("请再次输入你猜的数字,你还有" + (3 - count) + "次机会");
        }
    }
}

guessnumber变量声明移到do-while循环外部,确保while条件能够访问到这个变量

posted @ 2025-10-31 09:14  Doreen007  阅读(3)  评论(0)    收藏  举报