day05-循环高级练习

1、无限循环

无限循环:循环一直停不下来。有三种格式,格式如下:
for(;;){
    System.out.println("学习");
}
 
while(true){
    System.out.println("学习");
}
 
do{
    System.out.println("学习");
} while(true);

2、跳转控制语句

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

break:结束整个循环。

for( int i = 1 ; i <= 5 ; i++){
    if(i == 3){
        continue;
    }
    System.out.println("吃第" + i + "个包子");
}
输出结果为:
吃第1个包子
吃第2个包子
吃第4个包子
吃第5个包子
 
 
for( int i = 1 ; i <= 5 ; i++){ 
    if(i == 3){
        break;
    }
    System.out.println("吃第" + i + "个包子");
}
吃第1个包子
吃第2个包子

案例1:平方根

import java.util.Scanner;

public class LoopText2 {
    public static void main(String[] args) {
       /* 需求:键盘录入一个大于等于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.键盘录入一个整数
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int number = sc.nextInt();
        //2.从1开始循环判断
        //开始:1  结束:number
        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 + "平方根的整数部分");
            }
        }
    }
}

案例2:判断质数:

package Test03;
import java.util.Scanner;
 
public class test05 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int number = sc.nextInt();  //记录输入的整数
        int i;
        for(i = 2 ; i <= number ; i++) {
            if (number % i == 0)
                break;  //找到能被number整除的数
        }
        if(i == number)    //判断这个数是不是number本身,如果是则number是质数
            System.out.println("是质数");
        else
            System.out.println("不是质数");
    }
}

3、随机数的生成

1、导包——Random这个类在哪
import java.util.Random;
导包的动作必须出现在类定义的上面
 
2、创建对象——表示我要开始用Random这个类了
Random r = new Random();
上面这个格式里面,只有r是变量名,可以变,其他的都不允许变。
 
3、生成随机数——真正开始干活了
int number = r.nextInt(随机数的范围);
上面这个格式里面,只有number是变量名,可以变,其他的都不允许变。
 
int number = r.nextInt(bound:100);    //生成的随机数范围为0-99,范围的默认起
                                        始点为0,终止点为所填数字的值减1。
 
int number = r.nextInt(bound:10) + 7;    //生成的随机数范围为7~16。因为原本生成的
范围是0~9,但是在这个范围的基础上加7之后,随机数的范围就变成了7~16

实战:猜数游戏

本次游戏有保底机制,即猜三次时,无论最后是否猜中,系统都提示猜中。

Random r = new Random();    //创建随机数对象
//在范围内生成一个随机数,此语句放在循环外,因为只生成一次随机数
int number = r.nextInt(bound:100)+1;    
Scanner sc = new Scanner(System.in);    //创建键盘录入对象
int count = 0;    //    记录猜数字的次数
 
while(true){    //利用循环,让用户一直猜。在循环条件中利用true,让循环无限
                  循环,只有遇到break的情况下循环才终止。猜数游戏才结束。
    System.out.println("请输入你要猜的数字");
    int guessNumber = sc.nextInt();
 
    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;    //猜中之后循环终止
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值