我是靠谱客的博主 甜美狗,最近开发中收集的这篇文章主要介绍循环高级综合练习01 - 无限循环和跳转控制语句02 - 逢七过03 - 平方根04 - 判断是否为质数 05 - 猜数字小游戏,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

01 - 无限循环和跳转控制语句

无限循环

无限循环:循环一直停不下来。

1. 中间的条件判断语句,默认为true

//for格式的无限循环
for(;;){
	System.out.println("学习");
}

2. true  不能省略

//while格式的无限循环
while(true){
	System.out.println("学习");
}

3. 基本不使用 

do{
	System.out.println("学习");
}while(true)

 注意事项

无限循环的下面不能再写其他代码了,因为循环永远停不下来,那么下面的代码永远执行不到

Unreachable statement —— 不能到达的模块

报错

跳转控制语句

案例1:小老虎吃包子 

小老虎吃包子,第三个包子有虫子,跳过

中断,接着执行

public class SkipLoopDemo1 {
    public static void main(String[] args) {
        //1.跳过某一次循环
        //5.fori
        for (int i = 1; i <= 5; i++) {
            if(i == 3){
                //结束本次循环,继续下次循环。
                continue;
            }
            System.out.println("小老虎在吃第" + i + "个包子");
        }
    }
}

案例2:小老虎吃包子 

小老虎吃包子,吃完第三个就饱了

结束,到此为止

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

总结

循环的两个关键字

02 - 逢七过

案例1:逢7过

朋友聚会的时候可能会玩一个游戏:逢7过

游戏规则:从任意一个数字开始报数,当你要报的数字是包含7或者是7的倍数时都要说过:过

需求:使用程序在控制台打印出1-100之间的满足逢七必过规则的数据

//分析:
//个位7   十位7     7倍数
//1 2 3 4 5 6 过 8 9 10 11 12 13 过 15 16 过 18 19 20 过....
//69 过 过 过 过 过 过 过... 80
//1.得到1~100之间的每一个数字
//开始:1
//结束:100
//2.判断每一个数字,如果符合规则,就打印过,如果不符合规则就打印真实的数字
public class LoopTest1 {
    public static void main(String[] args) {
        //1.得到1~100之间的每一个数字
        //开始:1
        //结束:100
        //100.fori
        for (int i = 1; i <= 100; i++) {
            //2.判断每一个数字,如果符合规则,就打印过,如果不符合规则就打印真实的数字
            if(i % 10 == 7 || i / 10 % 10 == 7 || i % 7 == 0){
                System.out.println("过");
                continue;
            }
            System.out.println(i);
        }
        
    }
}

 总结

  1. 为什么采取 for 循环结构?因为已知循环次数和循环范围。
  2. 为什么采取 逻辑或 || ?因为只要 多个条件中满足一个条件,表达式的返回值就为true 。
  3. 关键字continue的作用?结束本次循环,继续下次循环。

03 - 平方根

案例2:平方根

需求:键盘录入一个大于等于2的整数x,计算并返回x的平方根。
结果只保留整数部分,小数部分将被舍去。
//分析:
//平方根   16的平方根4
//         4的平方根2

//10
//1 * 1 = 1 < 10
//2 * 2 = 4 < 10
//3 * 3 = 9 < 10
//4 * 4 = 16 > 10
//推断:10的平方根是在3~4之间。

//20
//1 * 1 = 1 < 20
//2 * 2 = 4 < 20
//3 * 3 = 9 < 20
//4 * 4 = 16 < 20
//5 * 5 = 25 > 20
//推断:20的平方根是在4~5之间。
//在代码当中
//从1开始循环,拿着数字的平方跟原来的数字进行比较
//如果小于的,那么继续往后判断
//如果相等,那么当前数字就是平方根
//如果大于的,那么前一个数字就是平方根的整数部分
//1.键盘录入一个整数
//2.从1开始循环判断
//开始:1 结束:number
//用i * i 再跟number进行比较
import java.util.Scanner;

public class LoopTest2 {
    public static void main(String[] args) {
        //1.键盘录入一个整数
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int number = sc.nextInt();
        //2.从1开始循环判断
        //开始:1 结束:number
        for (int i = 1; i <= number; i++) {
            //用i * i 再跟number进行比较
            if(i * i == number){
                System.out.println(i + "就是" + number + "的平方根");
                //一旦找到了,循环就可以停止了,后面的数字就不需要再找了,提高代码的运行效率。
                break;
            }else if(i * i > number){
                System.out.println((i - 1) + "就是" + number + "的平方根");
                break;
            }
        }
        
    }
}

04 - 判断是否为质数 

案例3:求质数

需求:键盘录入一个正整数x ,判断该整数是否为一个质数。

 

//质数:
//如果一个整数只能被1和本身整除,那么这个数就是质数。否则这个数叫做合数。
//7 = 1 * 7 质数
//8 = 1 * 8  2 * 4 合数
import java.util.Scanner;

public class LoopTest3 {
    public static void main(String[] args) {
        //分析:
        //1.键盘录入一个正整数
        //number
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个正整数");
        int number = sc.nextInt();

        //定义一个变量,表示标记
        //标记着number是否为一个质数
        //true:     是一个质数
        //false:    不是一个质数

        //表示最初就认为number是一个质数
        boolean flag = true;

        //2.判断
        //写一个循环,从2开始判断,一直判断到number - 1 为止
        //看这个范围之内,有没有数字可以被number整除
        for (int i = 2; i < number; i++) {
            //i 依次表示这个范围之内的每一个数字
            //看number是否能够被i整除就可以了
            if(number % i == 0){ // 9 % 2 == 1
                flag = false;
                //System.out.println(number + "不是一个质数");
                break;
            }/*else {
                System.out.println(number + "是一个质数");
            }*/
        }

        //只有当这个循环结束了,表示这个范围之内所有的数字都判断完毕了
        //此时才能断定number是一个质数
        if(flag){
            System.out.println(number + "是一个质数");
        }else {
            System.out.println(number + "不是一个质数");
        }

    }
}

简化思路

public class LoopTest4 {
    public static void main(String[] args) {
        // 100000
        // 2 ~ 99999
        //循环的次数:将近10万次

        //推荐一个简化的思路
        //81    这个叫因式分解来着???
        //1 * 81
        //3 * 27
        //9 * 9

        //以81的平方根9,为中心
        //而且假设 a * b = 81
        //那么a 和 b 中,其中有一个必定是小于等于9的。
        //另一个是大于等于9的。

        //假设,都是大于9 --- 9.1 * 9.1 > 81
        //假设,都是小于9 --- 8.9 * 8.9 < 81
        //其中一个数字一定是小于等于平方根
        //另外一个数字一定是大于等于平方根

        int number = 100;
        //如果这个范围之内,所有的数字都不能被number整除
        //那么number就一定是一个质数。
        /*for (int i = 2; i <= number的平方根; i++) {

        }*/
    }
}

总结 

  1. 标记思想
  2. 简化思路,涉及数学,平方根

05 - 猜数字小游戏

案例4:猜数字小游戏

★ 获取随机数

Java帮我们写好一个类叫Random,这个类就可以生成随机数。

0 到 任意数 之间的随机数

//1.导包
import java.util.Random;

public class LoopTest5 {
    public static void main(String[] args) {
        //先获取一个随机数。
        //范围: 0~10

        //2.创建对象
        Random r = new Random();

        //3.生成随机数
        //判断技巧:
        //在小括号中,书写的是生成随机数的范围
        //这个范围一定是从0开始的。
        //到这个数-1结束
        //口诀:包头不包尾,包左不包右
        for (int i = 0; i < 100; i++) {
            int number = r.nextInt(10); // 0 ~ 9
            System.out.println(number);
        }

    }
}

任意数 到 任意数 之间的随机数

import java.util.Random;

public class LoopTest6 {
    public static void main(String[] args) {
        //需求:
        //随机数范围:1~100

        //创建对象
        Random r = new Random();
        //生成随机数
        int number = r.nextInt(100) + 1; //1~100
        System.out.println(number);

        //秘诀
        //用来生成任意数到任意数之间的随机数 7 ~ 15
        //1.让这个范围头尾都减去一个值,让这个范围从0开始   -7   0~8
        //2.尾巴+1    8 + 1 = 9
        //3.最终的结果,再加上第一步减去的值。

        /*Random r = new Random();
        int number = r.nextInt(9) + 7;// 7 ~ 15
                    // 0 ~ 8  + 7
        System.out.println(number);*/
    }
}

 

//需求:程序自动生成一个1~100之间的随机数字,使用程序实现猜出这个数字是多少?

//扩展小需求:加一个保底机制,3次猜不中,直接提示猜中了。
import java.util.Random;
import java.util.Scanner;

public class LoopTest7 {
    public static void main(String[] args) {
        //需求:程序自动生成一个1~100之间的随机数字,使用程序实现猜出这个数字是多少?

        //扩展小需求:加一个保底机制,3次猜不中,直接提示猜中了。

        //注意点:
        //生成随机数的代码int number = r.nextInt(100) + 1;
        //不能写在循环的里面的,否则每一次都会产生一个新的随机数

        //2.抽奖机制
        //用点券去抽水晶
        //保底 360次

        //计数器
        //用来统计当前已经猜了多少次。
        int count = 0;

        //分析
        //1.生成一个1~100之间的随机数字
        Random r = new Random();
        int number = r.nextInt(100) + 1;
        //2.猜这个数字是多少
        Scanner sc = new Scanner(System.in);
        while (true){
            System.out.println("请输入你要猜的数字");
            int guessNumber = sc.nextInt();
            //3.判断两个数字给出不同的提示
            //猜的数字大了,提示 大了
            //猜的数字小了,提示 小了
            //猜的数字一样,提示猜中了
            count++;
            if(count == 3){
                System.out.println("猜中了");
                break;
            }
            if(guessNumber > number){
                System.out.println("大了");
            }else if(guessNumber < number){
                System.out.println("小了");
            }else {
                System.out.println("猜中了");
                break;
            }
        }
    }
}

总结 

  1. 生成随机数
  2. 猜数字小游戏
  3. 计数器

最后

以上就是甜美狗为你收集整理的循环高级综合练习01 - 无限循环和跳转控制语句02 - 逢七过03 - 平方根04 - 判断是否为质数 05 - 猜数字小游戏的全部内容,希望文章能够帮你解决循环高级综合练习01 - 无限循环和跳转控制语句02 - 逢七过03 - 平方根04 - 判断是否为质数 05 - 猜数字小游戏所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(103)

评论列表共有 0 条评论

立即
投稿
返回
顶部