无限循环及跳转控制语句相关知识点

无限循环(循环一直停不下来)
for (;;){
            System.out.println("学习");
        }


 while (true){
            System.out.println("学习");                 -------一般用while格式
        }


do {
            System.out.println("学习");                 -------几乎不用
        }while (true);

注意事项:
无限循环的下面不能再写其他的代码了,因为无限循环根本停不下来,那么下面的代码就执行不到了
public class Summary1 {
    public static void main(String[] args) {
        while (true){
            System.out.println("给女神表白");
        }
        //System.out.println("女神答应我了!!");
    }
}
跳转控制语句(在循环的过程中,跳转到其他的语句上执行)
      (在实际开发的过程中,很少真的让循环一直在运行,而是在合适的时候把循环给结束)


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

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

    }
}

相关练习1

//逢7过
public class Summary3Test1 {
    public static void main(String[] args) {
        /*朋友聚会的时候可能会玩一个游戏,逢7过
        游戏规则:从任意数字开始报数,当你要报的数字包含7或者是7的倍数时都要说:过
        需求:使用程序在控制台打印出1-100之间满足逢7必过规则的数据
         */

        //分析:
        //个位7  十位7  7的倍数
        //1 2 3 4 5 6 过 8 9 10 11 12 13 过 15 16...
        //66 过 67 68 69 过 过 过 过... 80 ... 100

        //1.得到1-100之间的每一个数字
        //开始:1
        //结束:100
        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);
        }
    }
}

相关练习2

//求平方根
public class Summary3Test2 {
    public static void main(String[] args) {
        /*键盘录入一个大于等于2的整数x,计算并返回x的平方根,
        结果只保留整数部分,小数部分将被舍去
         */


        //分析:
        //10
        //1 * 1 < 10
        //2 * 2 < 10
        //3 * 3 < 10
        //4 * 4 > 10
        //推断: 10的平方根在3-4之间

        //20
        //1 * 1 < 20
        //2 * 2 < 20
        //3 * 3 < 20
        //4 * 4 < 20
        //5 * 5 > 20
        //推断: 20的平方根在4-5之间

        //在代码当中
        //从1开始循环,拿着数字的平方跟原来的数字进行比较
        //如果小于,那么继续往后判断
        //如果等于,当前数字就是平方根
        //如果大于,那么前一个数字就是平方根的整数部分

        //1.键盘录入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个大于等于2的整数x:");
        int number = sc.nextInt();
        //2.从一开始判断
        //开始: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;
            }
        }
    }
}

//因为if在循环里面

相关练习3

public class Summary3Test3 {
    public static void main(String[] args) {
        //需求:键盘录入一个正整数x,判断该整数是否为一个质数.


        //质数:如果一个数只能被1和本身整除,那么这个数就是质数,否则这个数就是合数
        //7 = 7 * 1     质数
        //8 = 8 * 1     8 = 4 * 2     合数


        Scanner sc = new Scanner(System.in);
        System.out.println("键盘录入一个正整数x:");
        int number = sc.nextInt();

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

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

        //判断
        //写一个循环,从2开始判断,一直判断到number-1为止
        //看这个范围之内,有没有数字可以把number整除
        for (int i = 2;i <= (number - 1);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 + "不是一个质数");
        }
    }
}

相关练习4

public class Summary3Test4 {
    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++){

        }*/

    }
}
获取随机数:
        java帮我们写好了一个类叫Random,这个类就可以随机生成一个数

  使用步骤:
        1.导包 --- Random这个类在哪
            import java.util.Random;
        2.创建对象 --- 表示我要开始用Random这个类了
            Random r = new Random();
            上面的这个格式里,只有r是变量名,可以变,其他的都不可以变
        3.生成随机数字 --- 真正开始干活了
            int number = r.nextInt(随机数的范围);
            上面的这个格式里,只有number是变量名,可以变,其他的都不可以变
//1.导包
import java.util.Random;

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

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

        //3.生成随机数字
        //判断技巧
        //在小括号中,书写的是生成随机数字的范围
        //这个范围一定是从0开始的
        //到这个数-1结束
        //口诀:包头不包尾,包左不包右
        for (int i = 1; i <= 100; i++) {
            int number = r.nextInt(10);//0~9
            System.out.println(number);
        }
    }
}
public class Summary5 {
    public static void main(String[] args) {
        //秘诀:
        //用来生成任意数代任意数之间的随机数 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
        Random r = new Random();
        int number = r.nextInt(100) + 1;//1 ~ 100
        System.out.println(number);
    }
}

相关练习5

import java.util.Random;
import java.util.Scanner;

public class Summary5Test1 {
    public static void main(String[] args) {
        //需求:程序自动生成一个1~100之间的随机数,使用程序实现猜出这个数字是多少
        //扩展小需求:加一个保底机制,三次猜不中,直接提示猜中了


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


        //统计器
        //用来统计当前猜了多少次
        //1.随机生成一个1~100之间的数字
        int count = 0;
        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();                         //键盘录入的原因,键盘录入后循环
            count++;
            if (count == 3){
                System.out.println("猜对了");
                break;
            }
            //3.判断两个数字给出不同的提升
            //猜的数字大了  提示  大了
            //猜的数字小了  提示  小了
            //猜的数字一样  提示  猜中了
            if (guessNumber > number){
                System.out.println("大了");
            }else if (guessNumber < number){
                System.out.println("小了");
            }else{
                System.out.println("猜对了");
                break;
            }
        }

    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值