2 java选择结构

简介: 2 java选择结构

配套视频教程


本文B站配套视频教程


image.png


几个问题

如果张浩的Java考试成绩大于98分,张浩就能获得一个MP4作为奖励


image.png

image.png

image.png

image.png

public static void main(String[] args) {
        System.out.println("输入张三的java成绩");
        Scanner scanner =  new Scanner(System.in);
        int score = scanner.nextInt();
        if(score > 98)
        {
            System.out.println("--------------");
            System.out.println("奖励一个iphone手机");
        }
        System.out.println(score);
    }

张浩Java成绩大于98分,而且音乐成绩大于80分,老师奖励他;或者Java成绩等于100分,音乐成绩大于70分,老师也可以奖励他

image.png


image.png

public static void main(String[] args) {
        Scanner scanner =  new Scanner(System.in);
        System.out.println("输入张三的java成绩");
        int scoreJava = scanner.nextInt();
        System.out.println("输入张三的音乐成绩");
        int scoreMusic = scanner.nextInt();
        if((scoreJava > 98 && scoreMusic > 80)
                || (scoreJava == 100 && scoreMusic > 70))
        {
            System.out.println("--------------");
            System.out.println("奖励一个iphone手机");
        }
        System.out.println("程序退出");
    }

练习1

输入一个数,如果是偶数,则输出

Scanner scanner =  new Scanner(System.in);
        System.out.println("输入一个数");
        int num = scanner.nextInt();
        if(num % 2 == 0)
        {
            System.out.println("偶数");
        }
        System.out.println("程序退出");

输入一个数,//如果这个数是偶数,或者能被3整除,则输出这个数

Scanner scanner =  new Scanner(System.in);
        System.out.println("输入一个数");
        int num = scanner.nextInt();
        if(num % 2 == 0 || num % 3 == 0)
        {
            System.out.println(num);
        }
        System.out.println("程序退出");

如果张浩Java考试成绩大于98分,老师就奖励他一个MP4,否则老师就罚他进行编码


image.png

image.png

Scanner scanner =  new Scanner(System.in);
        System.out.println("输入张三的java成绩");
        int scoreJava = scanner.nextInt();
        if(scoreJava > 98)
        {
            System.out.println("奖励iphone");
        }
        else
        {
            System.out.println("去编码");
        }
        System.out.println("程序退出");
        System.out.println("程序退出");
        System.out.println("程序退出");

小练习

会员号的百位数字等于产生的随机数字即为幸运会员

image.png

image.png


image.png

image.png

实现思路

  1. 产生随机数
  2. 从控制台接收一个4位会员号
  3. 分解获得百位数
  4. 判断是否是幸运会员

产生随机数(0~9)的方法如下:

int random=(int)(Math.random()*10);

用户输入2个数,输出这2个数之间的随机的一个数

Scanner scanner = new Scanner(System.in);
        System.out.println("请输入第一个数");
        int low = scanner.nextInt();
        System.out.println("请输入第2个数");
        int high = scanner.nextInt();
        //low----high
        //20------50
        //0-------30(high-low)
        int num = (int)(Math.random()*(high-low))+low;
        System.out.println(num);

public class ForturnMember {
    public static void main(String[] args) {
        //用户输入一个4位的会员号,比如9527
        //如果,会员号的百位数字等于系统产生的随机数字 即为幸运会员
        //否则,输出谢谢惠顾
        //接收用户输入的会员号
        Scanner scanner = new Scanner(System.in);
        int no = scanner.nextInt();//9527
        //提取会员号的百位数字
        //将百位的5变为个位的
        no = no / 100;
        //提取个位上的数,方法就是%10
        no = no % 10;
        //系统产生一个随机数字(0-10),不包括10
        int randomNum = (int)(Math.random()*10);
        System.out.println("随机产生的数字是" + randomNum);
        //比较百位数是否等于随机数
        if(no == randomNum) {
            System.out.println("幸运会员");
        } else {
            System.out.println("谢谢惠顾");
        }
    }
}

另一个问题

对学员的结业考试成绩评测

成绩>=80 :良好

成绩>=60 :中等

成绩<60   :差

多重选择结构

image.png


image.png

//        对学员的结业考试成绩评测
//        成绩>=90 :优秀
//        成绩>=80 :良好
//        成绩>=60 :中等
//        成绩<60 :差
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩");
        int score = scanner.nextInt();
        //判断成绩
        //看看是否大于等于90
        if(score >= 90)
        {
            System.out.println("优秀");
        }
        //score<90
        else if(score >= 80)
        {
            System.out.println("良好");
        }
        //score<80
        else if(score >= 60)
        {
            System.out.println("中等");
        }
        else{
            System.out.println("差");
        }
        System.out.println("程序退出");

我想买车,买什么车决定于我在银行有多少存款

如果我的存款超过500万,我就买路虎

否则,如果我的存款超过100万,我就买宝马

否则, 如果我的存款超过50万,我就买迈腾

否则, 如果我的存款超过10万,我就买福特

否则, 如果我的存款10万以下 ,我买比亚迪


嵌套选择结构


学校举行运动会,百米赛跑跑入10秒内的学生有资格进决赛,根据性别分别进入男子组和女子组

分析

判断是否能够进入决赛

在确定进入决赛的情况下,判断是进入男子组,还是进入女子组


image.png


image.png

//学校举行运动会,百米赛跑跑入10秒内的学生有资格进决赛,
        // 根据性别分别进入男子组和女子组
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入百米赛跑成绩");
        //获得运动员的百米成绩
        double second = scanner.nextDouble();
        //判断是否在10秒内
        if(second <= 10)
        {
            // 根据性别分别进入男子组和女子组
            System.out.println("请输入性别");
            String sex = scanner.next();
            if(sex.equals("男"))//sex=="男"
            {
                System.out.println("进入男子组");
            }
            else {
                System.out.println("进入女子组");
            }
        }
        else {
            System.out.println("被淘汰");
        }
        System.out.println("退出程序");

课后作业


1.输入小明的考试成绩,显示所获奖励

成绩==100分,爸爸给他买辆车

成绩>=90分,妈妈给他买MP4

90分>成绩>=60分,妈妈给他买本参考书

成绩<60分,什么都不买


几个问题


张三参加计算机编程大赛

如果获得第一名,将保送清华大学

如果获得第二名,将奖励苹果电脑一部

如果获得第三名,将奖励华为手机一个

否则,不给任何奖励

image.png

image.png

在每个case后不要忘记写break;

switch后面小括号中表达式的值必须是整型或字符串

Scanner scanner = new Scanner(System.in);
        System.out.println("请输入名次");
        int mingci = scanner.nextInt();
        switch (mingci)
        {
            case 1:
            {
                System.out.println("保送清华");
                break;
            }
            case 2:
            {
                System.out.println("送苹果笔记本");
                break;
            }
            case 3:
            {
                System.out.println("送华为手机");
                break;
            }
            default://缺省的,不满足以上情况,进入到default语句
            {
                System.out.println("继续努力");
                break;
            }
        }
        System.out.println("程序结束");

根据用户输入,输出食堂菜谱

Scanner scanner = new Scanner(System.in);
        System.out.println("请输入星期");
        String week = scanner.next();
        switch (week)
        {
            case "星期一":
            {
                System.out.println("鱼香肉丝");
                break;
            }
            case "星期二":
            {
                System.out.println("唐初排骨");
                break;
            }
            default:
            {
                System.out.println("没有这么一天");
                break;
            }
        }


目录
相关文章
|
1月前
|
存储 算法 Java
🚀Java零基础-顺序结构详解 🚀
【10月更文挑战第11天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
35 6
|
4月前
|
存储 算法 安全
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
72 0
|
1月前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
45 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
|
3月前
|
存储 Java 数据库连接
Java类文件结构及类加载机制
该文章主要讨论了Java类文件的结构以及Java类的加载机制,并提到了双亲委派模型的相关内容。
Java类文件结构及类加载机制
|
3月前
|
Java
Java应用结构规范问题之在UnitConvertUtils工具类将千米转换为米的问题如何解决
Java应用结构规范问题之在UnitConvertUtils工具类将千米转换为米的问题如何解决
|
3月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
|
3月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
|
3月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之AllLoggers接口获取异常日志的Logger实例的问题如何解决
Java应用结构规范问题之AllLoggers接口获取异常日志的Logger实例的问题如何解决
|
3月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之dal层中的mapper数据源类型进行组织的问题如何解决
Java应用结构规范问题之dal层中的mapper数据源类型进行组织的问题如何解决
|
3月前
|
Java
Java应用结构规范问题之在biz层的convert包实现转换的问题如何解决
Java应用结构规范问题之在biz层的convert包实现转换的问题如何解决
下一篇
无影云桌面