一、无限循环

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

三种格式:

for循环(知道循环范围和循环次数)

for(;;){
System.out.println(“学习”);
}

while循环(不确定循环范围和循环次数)

while(true){
System.out.println(“学习”);
}

do……while循环

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

二、跳转控制语句

在循环的过程中,跳到其他语句上执行。

break

break:结束整个循环。

代码演示如下:

public static void main(String[] args) {
//        break
        for(int i=1;i<=5;i++) {
            if(i==3) {
                break;
            }
            System.out.println("吃第"+i+"个包子");
        }
    }

运行结果如下:




java里得无限循环 java的无限循环_java里得无限循环


continue

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

代码演示如下:

public static void main(String[] args) {
//        continue
        for(int j=1;j<=5;j++) {
            if(j==3) {
                continue;
            }
            System.out.println("吃第"+j+"个包子");
        }
    }

运行结果如下:


java里得无限循环 java的无限循环_java里得无限循环_02


三、循环练习

逢7过

需求:使用程序在控制台打印出1-100之间的满足封七过规则的数据。
游戏规则:从任意一个数字开始报数,当你要报的数字是包含7或者是7的倍
数时都要说过

代码如下:

public static void main(String[] args) {
//        逢7过游戏
        for(int i=1;i<=100;i++) {
            if(i%10==7||i/10%10==7||i%7==0){
                System.out.print("过 ");
                continue;
            }
            if(i%10==0) {
                System.out.println(i);
                continue;
            }
            System.out.print(i+" ");
        }
    }

运行结果如下:


java里得无限循环 java的无限循环_java里得无限循环_03


求平方根

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

代码如下:

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;
            }
        }
    }

运行结果如下:


java里得无限循环 java的无限循环_Powered by 金山文档_04


求质数

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

代码如下:

public static void main(String[] args) {
        // 需求:键盘录入一个正整数x,判断该整数是否为一个质数。
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个正整数:");
        int number = sc.nextInt();
        // 定义一个变量,表示标记
        // 标记着number是否为一个质数
        // 表示最初就认为number是一个质数
        boolean flag = true;
        for (int i = 2; i < number; i++) {
            if (number % i == 0) {
                flag = false;
//                System.out.println(number + "不是一个质数");
                break;
            } 

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

运行结果如下:


java里得无限循环 java的无限循环_java_05


猜数字小游戏

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

代码如下:

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

public class LoopTest4 {
    public static void main(String[] args) {
        // 生成随机数
        // 不能写在循环的里面
        // 范围:1~100
        // 秘诀:
        // 用来生成任意数到任意数之间的随机数:7~15
        // 1.让这个范围头尾都减去一个值,让这个范围从零开始:0~8
        // 2.尾巴+1:8+1=9
        // 3.最终的结果再加上第一步减去的值
        Random r = new Random();
        int number = r.nextInt(100) + 1;// 1~100
        // 猜这个数字是多少
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.println("请输入你要猜的数字:");
            int guessNumber = sc.nextInt();
            // 判断两个数字给出不同的提示
            // 猜的数字大了,提示大了
            // 猜的数字小了,提示小了
            // 才的数字一样,提示猜中了
            if (guessNumber > number) {
                System.out.println("大了");
            } else if (guessNumber < number) {
                System.out.println("小了");
            } else {
                System.out.println("猜中了");
                break;
            }

        }
    }
}

运行结果如下:


java里得无限循环 java的无限循环_Powered by 金山文档_06