Java流程控制语句之If选择结构
作者:工一木子 发布时间:2023-11-11 04:02:29
一、选择结构大纲
if单选择结构
if双选择结构
if多选择结构
嵌套的if结构
switch多选择结构
二、if单选择结构
我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示
语法:
if(布尔表达式) {
//如果布尔表达式为true将执行的语句
}
三、if双选择结构
那现在有个需求,公司要收购一个软件,成功了,给人支付100万元,失败了,自己找人开发。这样的需求用一个if就搞不定了,我们需要有两个判断,需要一个双选择结构,所以就有了if-else结构
语法:
if(布尔表达式) {
//如果布尔表达式的值为true
} else {
//如果布尔表达式的值为false
}
四、if多选择结构
我们发现刚才的代码不符合实际情况,真实的情况还可能存在ABCD,存在区间多级判断。比如我们90-100就是A,80-90就是B…等等,在生活中我们很多时候的选择也不仅仅只有两个,所以我们需要一个多选择结构来处理这类问题!
语法:
if(布尔表达式1) {
//如果布尔表达式1的值为true执行代码
} else if (布尔表达式2) {
//如果布尔表达式2的值为true执行代码
}else if(布尔表达式3) {
//如果布尔表达式3的值为true执行代码
}else{
//如果以上布尔表达式都不为true执行代码
}
五、嵌套的if结构
使用嵌套的if…else语句是合法的。也就是说你可以在另一个if或者else if语句中使用if或者else if语句。你可以像if语句一样嵌套else if…else
语法:
if(布尔表达式1) {
//如果布尔表达式1的值为true执行代码
if(布尔表达式2) {
//如果布尔表达式2的值为true执行代码
}
}
思考?我们需要寻找一个数,在1-100之间
算法思想(大数据时代,提高算法效率)
1-100之间,不用算法,如果查询的刚好是100,要查询100次
如果用二分法思想,可以提高一倍效率(先从1-50查,查不到,再从50-100查)
六、代码show
demo01:
public class IfDemo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
String s = scanner.nextLine();
//equals:判断字符串是否相等
if (s.equals("hello")) {
System.out.println(s);
}
System.out.println("End");
scanner.close();
}
}
demo02:
public class IfDemo02 {
public static void main(String[] args) {
//考试分数大于60就是及格,小于60分就是不及格
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = scanner.nextInt();
if (score > 60) {
System.out.println("及格");
} else {
System.out.println("不及格");
}
scanner.close();
}
}
demo03:
public class IfDemo03 {
public static void main(String[] args) {
//考试分数大于60就是及格,小于60分就是不及格
Scanner scanner = new Scanner(System.in);
/**
* if语句至多有一个else语句,else语句在所有的else if语句之后。
* if语句可以有若干个else if语句,他们必须在else语句之前
* 一旦其中一个else if语句检测为true,其他的else if语句以及else语句都将跳过执行
*/
System.out.println("请输入成绩:");
int score = scanner.nextInt();
if (score == 100) {
System.out.println("恭喜满分");
} else if (score < 100 && score >= 90) {
System.out.println("A级");
} else if (score < 90 && score >= 80) {
System.out.println("B级");
} else if (score < 80 && score >= 70) {
System.out.println("C级");
} else if (score < 70 && score >= 60) {
System.out.println("D级");
} else if (score < 60 && score >= 0) {
System.out.println("不及格");
} else {
System.out.println("成绩不合法");
}
scanner.close();
}
}
来源:https://blog.csdn.net/Prince140678/article/details/117602749


猜你喜欢
- 1、什么是keyWidget中有个可选属性key,顾名思义,它是组件的标识符,当设置了key,组件更新时会根据新老组件的key是否相等来进行
- 报错翻译: compileSdkVersion android-24”需要JDK 1.8或更高版本编译。报错现象如下图:原因:st
- 这种属性应用方式是field_name=@field_value@。两个@符号是springboot为替代${}属性占位符产生,原因是${}
- Mybatis简介MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参
- 本文实例为大家分享了C#生成PDF文件流的具体代码,供大家参考,具体内容如下1、设置字体static BaseFont FontBase =
- 在spring Boot中,有些代码是WEB功能,例如API等,但是有些逻辑是非WEB,启动时就要调用并持续运行的,该如何加载自己的非WEB
- 使用enum进行定义/*枚举类型演示*/#include <stdio.h>int main() { enum /*
- IDEA配置maven环境一、配置maven本地环境先参照以下博客进行maven的安装,配置IDEA 如何搭建maven 安装、下载、配置(
- 在实际业务中,当后台数据发生变化,客户端能够实时的收到通知,而不是由用户主动的进行页面刷新才能查看,这将是一个非常人性化的设计。有没有那么一
- 在日常开发过程中时常需要用到设计模式,但是设计模式有23种,如何将这些设计模式了然于胸并且能在实际开发过程中应用得得心应手呢?和我一起跟着《
- Mybatis Criteria条件查询CriterionCriterion是最基本,最底层的Where条件,用于字段级的筛选。Criter
- 本文实例讲述了Android开发使用URLConnection进行网络编程。分享给大家供大家参考,具体如下:URL的openConnecti
- 效果图:布局文件里包括了一个ImageView和两个Button控件,而在MainActivity了初始化控件。<?xml versi
- 前言:在 Java 语言中,并发编程都是依靠线程池完成的,而线程池的创建方式又有很多,但从大的分类来说,线程池的创建总共分为两大类:手动方式
- ListView 控件可使用四种不同视图显示项目。通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本。可使用 ListV
- 在《Android Handler之消息循环的深入解析》中谈到了Handler是用于操作线程内部的消息队列,所以Handler可以用来线程间
- 基本哪些属于引用类型类(object,string),接口、数组、委托引用类型分配在哪里引用类型变量位于线程栈。引用类型实例分配在托管堆上。
- jwt简介冒泡排序:(Bubble Sort)是一种简单的交换排序。之所以叫做冒泡排序,因为我们可以把每个元素当成一个小气泡,根据气泡大小,
- java 中模式匹配算法-KMP算法实例详解朴素模式匹配算法的最大问题就是太低效了。于是三位前辈发表了一种KMP算法,其中三个字母分别是这三
- 前言app启动后的白屏问题,默认都是在splash页面加主题配置,主题配置一个背景来达到用户点击app图标就立马启动app的假象,大多情况下