选择结构的学习

news2024/9/23 17:23:24

选择结构

思考以下问题:

常用的逻辑运算符及其作用?
请写出判断分数大于 60 并且分数小于 100 的表达式
if-else 选择结构执行的顺序是什么?
多重 if 选择结构的执行流程是怎样的?
if 选择结构书写规范有哪些?

通过下面学习笔记来解决上述问题

if else 结构

 

import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入成绩:");
        int score = scanner.nextInt();
        if (score >= 90) {
            System.out.println("优秀");
        } else {
            System.out.println("其它");
        }
    }
}

if 结构

 

import java.util.Scanner;

public class Demo02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入成绩:");
        int score = scanner.nextInt();
        if (score >= 90) {
            System.out.println("奖励");
        }
        System.out.println("程序结束");
    }
}

 if elseif else结构

 

public class Demo03 {
    public static void main(String[] args) {
        /* 注意
            1. 多选一
            2. 从上到下,逐一判断,一旦为真,不会往下判断
            3. else if是可以不定项
         */
        int score = 88;
        if (score >= 90) {
            System.out.println("优秀");
        } else if (score >= 80) {
            System.out.println("良好");
        } else if (score >= 70) {
            System.out.println("中等");
        } else if (score >= 60) {
            System.out.println("及格");
        } else {
            System.out.println("差");
        }
    }
}

if结构省略写法 

 

 

public class Demo04 {
    public static void main(String[] args) {
        int score = 98;
        if (score >= 90) System.out.println("优秀");
        else if (score >= 80) System.out.println("良好");
        else if (score >= 70) System.out.println("中等");
        else if (score >= 60) System.out.println("及格");
        else System.out.println("差");
    }
}

与或非

 

public class Demo05 {
    public static void main(String[] args) {
        // java html,只要有一门成功达到90分,就能去动物园游玩。否则,在家里休息。
        int java = 89, html = 90;
        if (java>=90 || html>=90) System.out.println("去动物园游玩");
        else System.out.println("在家休息");
    }
}

幸运抽奖

 

import java.util.Scanner;

public class Demo06 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("> 幸运抽奖\n");
        System.out.print("请输入4位会员号:");
        int id = scanner.nextInt();
        int baiwei = id / 100 % 10;
        /*
        Math.random() 产生一个左闭右开 [0.0~1.0) 之间的一个小数
        目标产生0-9之间的数,一共10个
        [0.0~1.0) * 10 -> [0.0~10.0) -> 强转 [0~10)
         */
        int luck = (int)(Math.random()*10);
        System.out.println("幸运数字是:" + luck);
        if (baiwei == luck) System.out.println("奖励mp3一个。");
        else System.out.println("谢谢惠顾。");
    }
}

字符串比较

 

import java.util.Scanner;

public class Demo07 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入是否是会员(y/n):");
        String yesno = scanner.next();
        // == 用于基本数据类型(byte short int long float double char boolean)的比较
        // 字符串的比较,采用字符串的equals()方法
        if (yesno.equals("y")) {
            System.out.println("是会员");
        } else {
            System.out.println("不是会员");
        }
    }
}

嵌套if

 

import java.util.Scanner;

public class Demo08 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入是否是会员(y/n):");
        String yesno = scanner.next();
        System.out.println("请输入购物金额:");
        int money = scanner.nextInt();
        double zk = 1.0; // 默认值,没有折扣
        if (yesno.equals("y")) {
            if (money >= 200) zk = 0.75;
            else zk = 0.8;
        } else {
            if (money >= 100) zk = 0.9;
        }
        System.out.println("实际支付:" + money * zk);
    }
}

switch结构

 

import java.util.Scanner;

public class Demo09 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入名次:");
        int mingci = scanner.nextInt();
        if (mingci == 1) System.out.println("夏令营");
        else if (mingci == 2) System.out.println("笔记本一台");
        else if (mingci == 3) System.out.println("移动硬盘");
        else System.out.println("无");
        // 使用switch的条件:等值判断
        switch (mingci) {
            case 1:
                System.out.println("夏令营");
                break;
            case 2:
                System.out.println("笔记本一台");
                break;
            case 3:
                System.out.println("移动硬盘");
                break;
            default:
                System.out.println("无");
                break;
        }
    }
}

switch支持数据类型

 

public class Demo10 {
    public static void main(String[] args) {
        String mingci = "1";
        /* switch可以使用哪几种数据类型
        1. byte short int char
        2. String JDK7开始才支持(目前我们使用的是JDK8)
        3. enum 枚举(未来再说)
        3. long float double不支持
         */
        switch (mingci) {
            case "1":
                System.out.println("夏令营");
                break;
            case "2":
                System.out.println("笔记本一台");
                break;
            case "3":
                System.out.println("移动硬盘");
                break;
            default:
                System.out.println("无");
                break;
        }
    }
}

switch透传

 

public class Demo11 {
    public static void main(String[] args) {
        String mingci = "星期一";
        // 透传现象的使用场景
        switch (mingci) {
            case "星期一":
            case "星期三":
                System.out.println("画画");
                break;
            case "星期二":
                System.out.println("休息");
                break;
            case "星期四":
                System.out.println("休息");
                break;
            case "星期五":
                System.out.println("移动硬盘");
                break;
            case "星期六":
            case "星期天":
                System.out.println("街舞");
                break;
            default:
                System.out.println("错误值");
                break;
        }
    }
}

商品购换

 

import java.util.Scanner;

public class Demo12 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入消费金额:");
        double money = scanner.nextInt();
        System.out.println("是否换购:");
        System.out.println("1.满50元,加2元换购商品1");
        System.out.println("2.满100元,加3元换购商品2");
        System.out.println("3.满100元,加10元换购商品3");
        System.out.println("4.满200元,加10元换购商品4");
        System.out.println("5.满200元,加20元换购商品5");
        System.out.println("0.不换购");
        System.out.print("请选择:");
        int select = scanner.nextInt();
        String goods = "不换购"; // 全选中good单词,右键菜单Refactor下的rename
        switch (select) {
            case 1:
                if (money > 50) {
                    money += 2;
                    goods = "商品1";
                }
                break;
            case 2:
                if (money > 100) {
                    money += 3;
                    goods = "商品2";
                }
                break;
            case 3:
                if (money > 100) {
                    money += 10;
                    goods = "商品3";
                }
                break;
            case 4:
                if (money > 200) {
                    money += 10;
                    goods = "商品4";
                }
                break;
            case 5:
                if (money > 200) {
                    money += 20;
                    goods = "商品5";
                }
                break;
        }
        System.out.println("消费金额:" + money);
        System.out.println("成功换购:" + goods);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/839583.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SAP通过 SWO3找一些不在事务码BAPI里面的BAPI

找BAPI BAPI_SALESDOCUMENT_COPY 首先事务码BAPI: 下面的所有方法都找不到(随便点开一个) 进SWO3 双击进去,继续往下点,找到了

学习左耳听风栏目90天——第一天 1-90(学习左耳朵耗子的工匠精神,对技术的热爱)【洞悉技术的本质,享受科技的乐趣】

洞悉技术的本质,享受科技的乐趣 第一篇,我的感受就是 耗叔是一个热爱技术,可以通过代码找到快乐的技术人。 作为it从业者,我们如何可以通过代码找到快乐呢?这是一个问题? 至少目前,我还没有这种…

调试技巧(2)

6. 如何写出好(易于调试)的代码 6.1 优秀的代码: 代码运行正常bug很少效率高可读性高可维护性高注释清晰文档齐全 常见的coding技巧: 使用assert尽量使用const养成良好的编码风格添加必要的注释避免编码的陷阱。 这里讲一下assert…

python中计算2的32次方减1,python怎么算2的3次方

大家好,给大家分享一下怎么样用python编写2的n次方,n由键盘输入,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! ---恢复内容开始--- 1、内置函数:取绝对值函数abs() 2、内置函数:取最大值max()&#xff…

【数据结构与算法——TypeScript】算法的复杂度分析、 数组和链表的对比

【数据结构与算法——TypeScript】 算法的复杂度分析 什么是算法复杂度(现实案例)? ❤️‍🔥 前面已经解释了什么是算法? 其实就是解决问题的一系列步骤操作、逻辑。 ✅ 对于同一个问题,我们往往有很多种解决思路和方法&#x…

url重定向

不安全的url跳转 不安全的url跳转问题可能发生在一切执行了url地址跳转的地方。 如果后端采用了前端传进来的(可能是用户传参,或者之前预埋在前端页面的url地址)参数作为了跳转的目的地,而又没有做判断的话 就可能发生"跳错对象"的问题。 url跳转比较直接的危害是…

【网络工程】网络流量分析工具 Wireshark

文章目录 第一章:WireShark介绍第二章:WireShark应用第三章:Wireshark 实战 第一章:WireShark介绍 Wireshark (前身 Ethereal):它是一个强大的网络包分析工具 ! 此工具主要是用来捕获网络数据包的,并且自动…

CBCGPRibbon 添加背景图片

resource.h中声明资源的ID:ID_RIBBON_BACKIMAGE rc文件中添加png图片路径: ID_RIBBON_BACKIMAGE PNG DISCARDABLE "res\\bkribbon.png" 代码中添加下测: //添加背景图片 m_wndRibbonBar.SetBackgroundImage(ID_RIB…

Redis 总结【6.0版本的】

如果源码不编译,是无法实现自动跳转的, Redis在win上编译有点麻烦,我是使用的CentOS环境,Clion编译 编译完就可以直接通过shell连接Redis server了 server.c 中放的是就是主类 :6000多行左右是入口main()函数位置 Red…

RabbitMQ 教程 | 第10章 网络分区

👨🏻‍💻 热爱摄影的程序员 👨🏻‍🎨 喜欢编码的设计师 🧕🏻 擅长设计的剪辑师 🧑🏻‍🏫 一位高冷无情的编码爱好者 大家好,我是 DevO…

分布式电网动态电压恢复器模拟装置电子设计大赛

wx供重浩:创享日记 对话框发送:85电网 获取完整论文报告结构框图工程源文件 摘要:本装置采用DC-AC及AC-DC-AC双重结构,前级采用功率因数校正(PFC)电路完成AC-DC变换,改善输入端电网电能质量。后…

01背包笔记

01背包题目链接 题意&#xff1a;有一个容量为m的背包以及n个可以拿的物品&#xff0c;给出n个物品的体积和价值&#xff0c;要求输出可以拿的最大价值 思路&#xff1a;代表在前i件物品中拿取总体积不超过j的最大价值 由此可以分情况讨论状态转移 当j<v[i]时&#xff0c;说…

【总结】p50蓝图概念、面向对象思想、函数事件宏的区别

p50蓝图概念、面向对象思想、函数事件宏的区别 函数的概念&#xff08;纯虚函数和函数&#xff09;宏的概念函数、事件、宏的区别变量的概念面向对象思想&#xff08;封装、继承、多态&#xff09;类和对象的关系Object、actor、pawn、Character、component之间的区别控制权、玩…

RTT(RT-Thread)时钟管理

目录 时钟管理 时钟节拍 RTT工程目录结构介绍 配置文件&#xff1a;rtconfig.h 获取系统节拍 获取系统节拍数函数 实例 定时器 RT_Thread定时器介绍 定时器源码分析&#xff08;了解即可&#xff09; rt_system_timer_init (硬件定时器初始化) rt_system_timer_thr…

python文件与目录操作

目录 文件编码 文件的读取 打开文件 mode常用的三种基础访问模式 读取文件 关闭文件 with open语法 文件的写入操作 文件综合案例 a.txt内容 代码实现 b.txt文件 目录操作 前言 os模块 具体方法 os.path模块 具体方法 文件编码 前言&#xff1a;由于计算机…

【在英伟达nvidia的jetson-orin-nx上使用调试can基础收发-硬件连接-开机自启动can-初步调试】

【在英伟达nvidia的jetson-orin-nx上使用调试can基础收发-硬件连接-开机自启动can-初步调试】 1、概述2、实验环境3、自我学习4-1、实验过程1、硬件原理图焊接连接模块2、输入命令3、测试过程 4-2、目前遗留问题# 1-1、发送可以发送&#xff0c;但是PC发送数据收不到。# 1-2、接…

任务 13、MidJourney种子激发极致创作,绘制震撼连贯画作

13.1 任务概述 通过本次实验任务&#xff0c;学员将深入了解Midjourney种子的概念和重要性&#xff0c;以及种子对生成图像的影响。他们将学会在Midjourney平台中设置种子值并调整其参数&#xff0c;以达到所需的效果。此外&#xff0c;任务还详细介绍了Midjourney V4.0版本中…

周末作业 c高级

1.判断家目录下&#xff0c;普通文件的个数和目录文件的个数&#xff1a; #!/bin/bash arr1(ls -la ~/|cut -d r -f 1|grep -wi d) arr2(ls -la ~/|cut -d r -f 1|grep -wi -)echo "普通文件个数为&#xff1a;${#arr2[*]}" echo "目录文件个数为&#xff1a;$…

【TypeScript】TS接口interface类型(三)

【TypeScript】TS接口interface类型&#xff08;三&#xff09; 【TypeScript】TS接口interface类型&#xff08;三&#xff09;一、接口类型二、实践使用2.1 常规类型2.2 设置属性只读 readonly2.3 设置索引签名2.4 设置可选属性2.5 函数类型接口 一、接口类型 TypeScript中的…

没有配置redis但是报错连接redis失败

问题 没有配置redis但是报错连接redis失败 检查maven配置是否引入了redis依赖&#xff08;可能是传递依赖&#xff0c;最好检查引进来的公共工程 解决办法 只需要在该工程application.yml文件中配置一下 redis就好&#xff0c;或者移除redis依赖