25天掌握java基础(三)——程序流程控制、Random类

Demo03-程序流程控制、Random类

1.顺序结构

程序默认流程

2.分支结构

2.1if分支

2.2switch分支

  • 表达式类型只能是byte,short,int,char,JDK5开始支持枚举,JDK7开始支持String.不支持double,float,long(double和float计算不精确)
  • case给出的值不允许重复,且只能是字面量,不能是变量
  • 不要忘记写break,否则会出现穿透现象(如果匹配到的case没有break,就会不再比较后面的case是否匹配,而是直接执行case中的代码,直到遇见一个case有break才会跳出)

存在多个case分支的功能代码是一样时,可以用穿透性把流程集中到同一处理,这样可以简化代码

public class SwicthDemo4 {
    public static void main(String[] args) {
        int month = 7;
        switch (month){
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                System.out.println(month +"是31天!");
                break;
            case 2:
                System.out.println(month +"月闰年为29天、非闰年为28天!");
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                System.out.println(month +"是30天!");
                break;
            default:
                System.out.println("数据有误!");
        }
    }
}

3.循环结构

3.1for循环

3.2while循环

  • while循环和for循环功能上是完全一样的,for能解决的while也能解决,反之亦然
  • 知道循环几次使用for;不知道循环几次建议使用while

3.3do-while循环

3.4死循环,循环嵌套,break,continue

int okPassword = 520;
Scanner sc = new Scanner(System.in);
while (true) {
    System.out.println("请您输入正确的密码:");
    int password = sc.nextInt();
    if(password == okPassword){
        System.out.println("登录成功了~~~");
        break;
    }else {
        System.out.println("密码错误!");
    }
}

场景:假如你有老婆,你老婆罚你说3天,每天5句我爱你,但是说到第二天的第3句就心软了,以后都不用说了!

OUT:
for (int i = 1; i <= 3; i++) {
    for (int j = 1; j <= 5; j++) {
        System.out.println("我爱你~~");
        if(i == 2 && j == 3){
            break OUT; // 指定跳出外部循环,并结束外部循环了!
        }
    }
}

4.案例技术:Random类——猜数字游戏

4.1Random类

// 3 - 17 ==> -3 ==> (0 - 14) + 3
int data = r.nextInt(15) + 3;//生成0~14的随机整数
System.out.println(data);

4.2猜数字游戏

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

public class RamdomTest2 {
    public static void main(String[] args) {
        // 1、随机一个幸运号码 1- 100之间  (0 - 99) + 1
        Random r = new Random();
        int luckNumber = r.nextInt(100) + 1;

        // 2、使用一个死循环让用户不断的去猜测,并给出提示
        Scanner sc = new Scanner(System.in);
        while (true) {
            // 让用户输入数据猜测
            System.out.println("请您输入猜测的数据(1-100):");
            int guessNumber = sc.nextInt();

            // 3、判断这个猜测的号码与幸运号码的大小情况
            if(guessNumber > luckNumber){
                System.out.println("您猜测的数据过大~");
            }else if(guessNumber < luckNumber){
                System.out.println("您猜测的数据过小");
            }else {
                System.out.println("恭喜您,猜中了,可以去买单了~~~");
                break; // 直接跳出并结束当前死循环!!
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

认真生活的灰太狼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值