Java流程控制--分支结构

2023-10-26

Java流程控制--分支结构--if

单分支

  • 结构:
if(条件表达式,这个表达式的结果是布尔值:要么是false,要么是true){
    //如果上面()中的表达式返回结果是true,那么执行{}中代码
    //如果上面()中的表达式返回结果是false ,那么不执行{}中代码
    //PS:{}中的代码是否执行,取决于()中表达式的返回结果
}
  • 单分支之间,每一个选择是独立的,依次判断执行的
  • if后面的()中的条件,要按照自己需求尽量完善
  • {}可以省略不写,但是一旦省略,这个if就只负责后面的一句话,所以我们不建议初学者省略
public class TestIf01{
	public static void main(String[] args){
		// 实现功能:根据所得分数,判断获得的奖项
		int num1 = 6;
		int num2 = 6;
		int num3 = 6;
		
		// 对分数进行求和
		int sum = 0;
		sum += num1;
		sum += num2;
		sum += num3;
		
		// 判断获得的奖项
		if(sum>=14){
			System.out.println("恭喜获得一等奖,lucky guy");
		}
		if(sum>=10&&sum<14){
			System.out.println("恭喜获得二等奖,good");
		}
		if(sum>=6&&sum<10){
			System.out.println("恭喜获得三等奖,just ok");
		}
		if(sum<6){
			System.out.println("真糟糕,你获得的是安慰奖,bad luck");
		}
		
	}
}

多分支-if--else

  • 结构
if(布尔表达式1) {
        语句块1;
} else if(布尔表达式2) {
        语句块2;
}……
else if(布尔表达式n){
        语句块n;
} else {
        语句块n+1;
}
  • 当布尔表达式1为真时,执行语句块1;否则,判断布尔表达式2,当布尔表达式2为真时,执行语句块2;否则,继续判断布尔表达式3······;如果1~n个布尔表达式均判定为假时,则执行语句块n+1,也就是else部分
  • 多分支:好处:只要满足一个 分支以后,后面的分支就不需要判断了 --》效率高
import java.util.Scanner;
public class TestIf05{
	public static void main(String[] args){
		/*
		小朋友搬桌子:
		年龄大于7岁,可以搬桌子;
		如果年龄大于5岁,性别是男,可以搬桌子;
		否则不可以搬动桌子,提示:你还太小了
		*/
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入小朋友的年龄");
		if(sc.hasNextInt()){
			int age = sc.nextInt();
			if(age>=7){
				System.out.println("小朋友已经可以搬桌子了");
			}else if(age>=5){
				System.out.print("小朋友的年龄不到7岁,小朋友的性别是?1、男孩 2、女孩");
				if(sc.hasNextInt()){
					int gender = sc.nextInt();
					if(gender == 1){
						System.out.println("虽然小朋友年龄不到7岁,但是男孩子可以搬桌子");
					}else{
						System.out.println("小女孩还太小了,不适合搬桌子");
					}
				}else{
					System.out.println("您的输入有误");
				}
			}else{
				System.out.println("小朋友太小了,不适合搬桌子");
			}
		}else{
			System.out.println("请输入正确的年龄");
		}
	}
}

Java流程控制--分支结构--switch

  • 语法结构
switch(){
                        case * :
                        case * :
                        .......
                }
  • switch后面是一个(),()中表达式返回的结果是一个等值,这个等值的类型可以为:int,byte,short,char,String,枚举类型
  • 这个()中的等值会依次跟case后面的值进行比较,如果匹配成功,就执行:后面的代码
  • 为了防止代码的“穿透”效果:在每个分支后面加上一个关键词break,遇到break这个分支就结束了
  • 类似else的“兜底”“备胎”的分支:default分支
  • default分支可以写在任意的位置上,但是如果没有在最后一行,后面必须加上break关键字,如果在最后一行的话,break可以省略
  • 相邻分支逻辑是一样的,那么就可以只保留最后一个分支,上面的都可以省去不写了
  • switch分支和if分支区别:
    • 表达式是等值判断的话--》if ,switch都可以
    • 如果表达式是区间判断的情况---》if最好
  • switch应用场合:就是等值判断,等值的情况比较少的情况下
public class TestSwitch{
	public static void main(String[] args){
		/*
		实现一个功能:
		根据给出的学生分数,判断学生的等级:
		>=90  -----A
		>=80  -----B
		>=70  -----C
		>=60  -----D
		<60   -----E
		*/
		int score = (int)(Math.random()*100)+1;
		System.out.println("学生成绩:"+score+"分");
		switch(score/10){
			case 10 :
			case 9 :
				System.out.println("A等");
				break;
			case 8 :
				System.out.println("B等");
				break;
			case 7 :
				System.out.println("C等");
				break;
			case 6 :
				System.out.println("D等");
				break;
			case 5 :
			case 4 :
			case 3 :
			case 2 :
			case 1 :
			case 0 :
				System.out.println("E等");
				break;
			default:
				System.out.println("成绩错误");
		}
	}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java流程控制--分支结构 的相关文章

随机推荐

  • 微信小程序纯css实现一个弹出的菜单

    1 实现效果 2 实现原理 animation动画 transform属性 rotateZ translate 3 实现代码
  • 必读:学习C语言编程的路线图

    学习C语言编程 可以丰富编程思维的训练和经验 以下是一些学习C语言编程的路线图 设置开发环境 在计算机上安装C编译器 GNU编译器集合 GCC 是一个流行的选择 适用于Windows macOS和Linux等各种操作系统 安装IDE编程环境
  • 数据清洗方法

    来源 我是码农 转载请保留出处和链接 本文链接 http www 54manong com id 1220 1 数据错误 脏数据或错误数据 比如 温度 2003 数据不正确 0 代表真实的0还是代表缺失 数据不一致 2 删除重复值 删除重复
  • Shell脚本——条件语句

    shell脚本 编程条件语句 条件测试 if语句 case分支语句 一 条件测试 1 1 Test命令 1 2 文件测试 1 3整数值比较 1 4字符串比较 1 5逻辑测试 二 if语句 2 1 单分支结构 2 2双分支结构 2 3多分支结
  • Eclipse 语言包下载

    1 登陆http www eclipse org babel downloads php 选择你的eclipse版本 2 找到IDE中文补丁包 INDIGO的地址如下 http download eclipse org technology
  • Maven(六) eclipse 使用Maven deploy命令部署构建到Nexus

    转载于 http blog csdn net jun55xiu article details 43051627 1 应用场景 SYS UTIL 系统工具 项目部署 构建成JAR包 SYS UTIL XXX jar 存储到Nexus私服上
  • spring boot 使用application.properties 进行外部配置

    application properties大家都不陌生 我们在开发的时候 经常使用它来配置一些可以手动修改而且不用编译的变量 这样的作用在于 打成war包或者jar用于生产环境时 我们可以手动修改环境变量而不用再重新编译 spring b
  • python里的pypi是干什么用的_【python工具篇】pip和pypi

    PyPI the Python Package Index The Python Package Index is a repository of software for the Python programming language T
  • HTTP中GET,POST和PUT的区别

    一 HTTP中定义了以下几种请求方法 1 GET 2 POST 3 PUT 4 DELETE 5 HEAD 6 TRACE 7 OPTIONS 二 各个方法介绍 1 GET方法 对这个资源的查操作 2 DELETE方法 对这个资源的删操作
  • 电脑检测不到第二个显示器的解决方法

    一般是因为显示适配器被失效了 右击开始菜单 选择 设备管理器 再选择 显示适配器 这时图标上一般会带上感叹号 右击后选择禁用 再选择启用就能检测到第二个显示器
  • 第一个跑马灯实验

    如何新建一个工程 1 打开工程模板 删除其他不重要的库文件 把main 函数里的内容删除 不用的外设固件库文件可以删掉 节省编译时间 rcc 时钟使能 usart 串口 复用映射 setbits 设置高电平 resetbits 低电平 2
  • 「PAT甲级真题解析」Advanced Level 1006 Sign In and Sign Out

    PAT Advanced Level Practice 1006 Sign In and Sign Out 如果对你有帮助 要点个赞让我知道喔 文章目录 问题分析 完整描述步骤 伪代码描述 完整提交代码 问题分析 题目给出一组学生进入机房的
  • 计量经济学及Stata应用 陈强 第八章自相关习题8.3

    8 3使用数据集gasoline dta估计美国1953 2004年的汽油需求函数 考虑如下回归 其中 被解释变量lgasq为人均汽油消费量的对数 解释变量lincome为人均收入的对数 lgasp为汽油价格指数的对数 lpnc为新车价格指
  • ROS建模仿真(1)-创建机器人模型

    ROS建模仿真 1 创建机器人模型 创建catkin creat pkg功能包 创建机器人描述文件 创建launch文件 创建catkin creat pkg功能包 创建机器人描述文件 创建launch文件 创建catkin creat p
  • Mac OS上使用ffmpeg的“血泪”总结

    标题真不是夸张 这几天在整理视频相关的处理流程 为了获得一些性能数据 打算在自己的MacBook Pro 上面装ffmepg 这一折腾4 5天就过去了 有些问题 在解决之后就豁然开朗了 没有解决之前 真的是百思不得其解 中间就好像隔着一层纱
  • AF_INET和AF_PACKET区别

    http blog csdn net kzm2008 article details 5372834 man 7 ip man 7 packet Packet sockets are used to receive or send raw
  • 单片机蓝桥杯——定时中断实现数码管显示、按键判断

    1 1ms定时中断T0 控制数码管显示 1 关于中断 关于定时中断的初始化函数可直接在STC ISP软件上生成 如下图所示 注意 初始化函数中并没有打开EA和ET0 需要自己加上 2 关于数码管显示 数码管段码 segCode 0 segC
  • Flutter提供者模式说明

    在本文中 我们将介绍Flutter中的Provider模式 Google的工作小组建议使用提供程序模式 他们还在Flutter的Pragmatic State Management中的 Google I O 2019上进行了介绍 其他一些模
  • Nginx的Gzip压缩

    Nginx的Gzip压缩 Nginx开启Gzip压缩功能 可以使网站的css js xml html 文件在传输时进行压缩 提高访问速度 进而优化Nginx性能 在Nginx配置文件中可以配置Gzip的使用 相关指令可以在http区域 se
  • Java流程控制--分支结构

    Java流程控制 分支结构 if 单分支 结构 if 条件表达式 这个表达式的结果是布尔值 要么是false 要么是true 如果上面 中的表达式返回结果是true 那么执行 中代码 如果上面 中的表达式返回结果是false 那么不执行 中