当前位置: 首页 > news >正文

选择和分支结构

选择和分支结构

      • 选择和分支结构
        • 一、复习问答
        • 二、选择结构
          • 2.1 基础选择结构
          • 2.2 if-else结构
          • 2.3 多重if结构
          • 2.4 嵌套if结构
        • 三、分支结构
        • 四、局部变量

选择和分支结构

一、复习问答

1、Java中基本数据类型

2、类型的转换的两种情形

3、数据类型提升的规则

二、选择结构

2.1 基础选择结构

语法:

if(条件表达式){
// 代码块

}

执行流程:先判断条件,如果条件结果为true,则执行代码块,否则就跳过代码块。

public class Demo01 {// 基础if结构public static void main(String[] args) {// 如果敌方英雄血量低于200,越塔强杀int hp = 250;if(hp < 200) {System.out.println("越塔强杀");}int temp = 20;if(temp > 20) {System.out.println("开空调");}System.out.println("程序结束");}
}
2.2 if-else结构

语法:

if(条件表达式){
// 代码块1

}else{

​ // 代码块2

}

执行流程:先判断条件,如果条件结果为true,则执行代码块1,否则就执行代码块2。

public class Demo02 {// if-else结构public static void main(String[] args) {// 如果敌方英雄血量低于200,越塔强杀,否则继续消耗int hp = 180;if(hp < 200) {System.out.println("越塔强杀");}else {System.out.println("继续消耗");}// 定义一个整数变量,如果值为奇数,输出是奇数,否则输出是偶数int num = 20;
//		int num1 = 8765;
//		int g = num1 % 10;
//		int s = num1 / 10 % 10;if(num % 2 == 1) {System.out.println("是奇数");}else {System.out.println("是偶数");}}
}
2.3 多重if结构

语法:

if(条件表达式1){
// 代码块1

}else if(条件表达式2){

​ // 代码块2

}else{

​ // 代码块3

}

执行流程:先判断条件1,如果条件结果为true,则执行代码块1,否则就去判断条件2,如果成立,则执行代码块2,否则执行代码块3。

注意:代码从上往下执行,任意一个条件成立,则不会继续向下执行其他判断。

public class Demo03 {// 多重if结构public static void main(String[] args) {// 如果成绩低于60,显示不及格,介于[60,80)之间,显示一般,[80,90)之间,显示良好,高于90,显示优秀int score = 95;
//		if(score < 60) {
//			System.out.println("不及格");
//		}else if(score >= 60 && score < 80) {
//			System.out.println("一般");
//		}else if(score >= 80 && score < 90) {
//			System.out.println("良好");
//		}else {
//			System.out.println("优秀");
//		}if(score >= 90) {System.out.println("优秀");}else if(score >= 80) {System.out.println("良好");}else if(score >= 60) {System.out.println("一般");}else {System.out.println("不及格");}// 定义一个月份,输出该月有多少天(都按平年计算)int month = 5;if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8|| month == 10 || month == 12) {System.out.println("31天");}else if(month == 2) {System.out.println("28天");}else {System.out.println("30天");}}
}
2.4 嵌套if结构

语法:

if(外层条件表达式){

​ // 外层代码块1

​ if(内层条件表达式){
​ // 内层代码块1

​ }else{

​ // 内层代码块2

​ }

}else{

​ // 外层代码块2

}

执行流程:先判断外层条件,如果条件结果为true,则执行外层代码块1,否则就执行外层代码块2。在执行外层代码块1后,发现又有内层if,继续判断内层条件是否成立,如果成立,则执行内层代码块1,否则执行内层代码块2.

public class Demo04 {// 嵌套ifpublic static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("请选择阵营:1、联盟  2、部落");int select = input.nextInt();if(select == 1) {System.out.println("欢迎来到联盟");System.out.println("请选择种族:1、精灵  2、人类");select = input.nextInt();if(select == 1) {System.out.println("欢迎加入精灵");}else {System.out.println("欢迎加入人类");}}else {System.out.println("欢迎来到部落");}}
}

三、分支结构

语法:

switch(变量、表达式){

​ case 值1:

​ // 代码块1

​ case 值2:

​ // 代码块2

​ case 值3:

​ // 代码块3

​ default:

​ // 代码块4

}

运行流程:先得到变量或表达式的值,然后判断该值是否等于值1,等于则执行代码块1,如果不等于,继续向下判断值2,如果所有的值都不等于,则执行default中的内容。

变量的类型为:byte、short、int、char、String(jdk1.7+)、枚举

public class Demo05 {// switch用法// fall-downpublic static void main(String[] args) {int month = 3;switch(month) {case 1:case 3:case 5:case 7:case 8:case 10:case 12:System.out.println("31天");break;case 2:System.out.println("28天");break;case 4:case 6:case 9:case 11:System.out.println("30天");break;default:System.out.println("月份不对");}}
}

注意:当没有break时,代码会继续向下执行,直到switch结束或者遇到break为止。

public class Demo06 {// 求某年某月某日是当年的第几天,计算闰年// 判断闰年的规则是:年份能被400整除,或者年份能被4整除并且不能被100整除,public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("请输入年份:");int year = input.nextInt();System.out.println("请输入月份:");int month = input.nextInt();System.out.println("请输入日期:");int day = input.nextInt();int days = 0; // 计算总天数switch(month) {case 12:days += 30; // 加上11月case 11:days += 31; // 加上10月case 10:days += 30; // 加上9月case 9:days += 31; // 加上8月case 8:days += 31; // 加上7月case 7:days += 30; // 加上6月case 6:days += 31; // 加上5月case 5:days += 30; // 加上4月case 4:days += 31; // 加上3月case 3:if(year % 400 == 0 || year % 4 == 0 && year % 100 != 0) {days += 29;}else {days += 28;}case 2:days += 31; // 加上1月的天数// days = days + 31;case 1:days += day; // 加上当月的天数
//				days = days + day;break;default:System.out.println("月份不对");}System.out.println(year + "年" + month + "月" + day + "日是当年的第"+days+"天");}
}

四、局部变量

  • 声明在方法内部的变量,必须先赋值后使用。
  • 作用域范围:是从定义的行开始到所在的代码块结束。
  • 如果多个变量,在重合的作用域范围,不能同名,会冲突报错。
public class Demo07 {// 局部变量的作用域public static void main(String[] args) {
//		System.out.println(month); // 没有定义之前不能使用int month = 5;int num = 8;if(month > 3) {
//			int num = 6; // 范围冲突System.out.println(num);System.out.println(month);}else {
//			int num = 5; // 范围冲突}System.out.println(num);System.out.println(month);}
}

相关文章:

选择和分支结构

选择和分支结构选择和分支结构一、复习问答二、选择结构2.1 基础选择结构2.2 if-else结构2.3 多重if结构2.4 嵌套if结构三、分支结构四、局部变量选择和分支结构 一、复习问答 1、Java中基本数据类型 2、类型的转换的两种情形 3、数据类型提升的规则 二、选择结构 2.1 基础选…...

Elasticsearch总结笔记

文章目录简介类型增删改查操作索引原理简介 底层使用的lucene引擎&#xff0c;lucene引擎直接使用相对复杂&#xff0c;有一定的学习成本&#xff0c;同样是使用Java编写&#xff0c;Elasticsearch使用的rest风格的进行交互&#xff0c;而数据呢则是以JSON的方式进行传输。学习…...

Ubuntu 安装指定版本 Mysql,并设置远程连接(以安装mysql 5.5 为例)

目录 一、安装Mysql 1、卸载Mysql&#xff08;可跳过&#xff09; 2、安装mysql 软件源 3、安装mysql 5.5 4、验证测试 二、设置远程登录 1、允许使用root账号远程连接 2、Mysql 允许远程登录 一、安装Mysql 1、卸载Mysql&#xff08;可跳过&#xff09; 如果之前安装…...

NumPy:Python中的强大数学工具

NumPy&#xff1a;Python中的强大数学工具 文章目录NumPy&#xff1a;Python中的强大数学工具一、NumPy简介二、创建数组三、数组尺寸四、数组运算五、数组切片六、数组连接七、数据存取八、数组形态变换九、数组排序与搜索十、矩阵与线性代数运算一、NumPy简介 当谈到数据科学…...

Hbase资源隔离操作指南

1.检查集群的环境配置 1.1 HBase版本号确认> 5.11.0 引入rsgroup的Patch&#xff1a; [HBASE-6721] RegionServer Group based Assignment - ASF JIRA RegionServer Group based Assignment 社区支持版本&#xff1a;2.0.0 引入rsgroup的CDH版本 5.11.0 https://www.…...

TPS2012B泰克Tektronix隔离通道示波器

简  述&#xff1a; 复杂环境中开发和测试你的设计&#xff0c;进行浮动或差 分测量&#xff1b;100MHz&#xff0c;2通道 主要特点和优点 100 MHz和200 MHz带宽 高达2 GS/s的实时采样率 2条或4条全面隔离和浮动通道&#xff0c;外加隔离外部触 发 在安装两块电池时可以连续…...

9.4 PIM-DM

实验目的 熟悉PIM-DM的应用场景掌握PIM-DM的配置方法 实验拓扑 实验拓扑如图9-28所示&#xff1a; 图9-28&#xff1a;PIM-DM 实验步骤 &#xff08;1&#xff09;IP地址的配置 MCS1的配置如图9-29所示&#xff1a; 图9-29&#xff1a;配置MCS1的IP地址 R1的配置 <Huawe…...

程序员推荐的良心网站合集!

今天来给大家推荐几个程序员必看的国外良心网站合集。 IBM developer 技术性很强的博客网站&#xff0c;网站自带真实示例代码和架构解决方案&#xff0c;大家可以在上面找到适合自己的语言方向开始学习交流。 https://developer.ibm.com/ infoq 技术论坛社区&#xff0c;内…...

信息安全概论之《密码编码学与网络安全----原理与实践(第八版)》

前言&#xff1a;在信息安全概论课程的学习中&#xff0c;参考了《密码编码学与网络安全----原理与实践&#xff08;第八版&#xff09;》一书。以下内容为以课件为主要参考&#xff0c;课本内容与网络资源为辅助参考&#xff0c;学习该课程后作出的总结。 一、信息安全概述 1…...

跬智信息全新推出云原生数据底座玄武,助力国产化数据服务再次升级

2月28日&#xff0c;跬智信息&#xff08;Kyligence&#xff09;宣布全新推出国产化云原生数据底座开源项目玄武&#xff08;XUANWU&#xff09;&#xff0c;以助力企业加速数据平台上云&#xff0c;并实现国产化升级。玄武&#xff08;XUANWU&#xff09;是在容器化技术上形成…...

【离线数仓-9-数据仓库开发DWS层设计要点-DWS层汇总表以及数据装载】

离线数仓-9-数据仓库开发DWS层设计要点-DWS层汇总表以及数据装载离线数仓-9-数据仓库开发DWS层设计要点-DWS层汇总表以及数据装载一、交易域用户商品粒度订单最近1日/N日汇总表1.交易域用户商品粒度订单最近1日汇总表2.交易域用户商品粒度订单最近N日汇总表二、交易域优惠券粒度…...

我的十年编程路 序

算起来&#xff0c;从决定并从事编程开始&#xff0c;已十年有余了。 这十年是怎么算的呢&#xff1f; 我的本科是从2009年至2013年&#xff0c;现在回想起来&#xff0c;应该是从2012年下半年&#xff0c;也就是大四还未正式开始的时候决定从事Android开发。参加了培训班&am…...

xs 180

选择题(共180题,合计180.0分) 1. 你被任命为某项目的敏捷教练&#xff0c;为了更好的交付产品&#xff0c;你与团队召开会议&#xff0c;讨论项目过程中团队应该如何做到有效沟通。最有可能确定项目过程中主要以下列哪种方式沟通? A 团队成员在各自的办公室自行办公&#…...

时间序列分析 | BiLSTM双向长短期记忆神经网络时间序列预测(Matlab完整程序)

时间序列分析 | BiLSTM双向长短期记忆神经网络时间序列预测(Matlab完整程序) 目录 时间序列分析 | BiLSTM双向长短期记忆神经网络时间序列预测(Matlab完整程序)预测结果评价指标基本介绍完整程序参考资料预测结果 评价指标 训练集数据的R2为:0.99302 测试集数据的R2为&…...

0101基础-认证授权-springsecurity

文章目录1 基础概念1.1 认证1.2 会话1.3 jwt1.4 授权2 授权的数据模型3 RBAC3.1 基于角色的访问控制3.2 基于资源的访问控制4 名词解析4.1 SSO4.2 CAS4.3 联合登陆4.4 多端登录&#xff1a;同一账号不同终端登录4.5 OAuth1 基础概念 1.1 认证 认证是为了保护系统的隐私数据和…...

一文简单了解THD布局要求

一、什么是THD&#xff1f; THD指总谐波失真。谐波失真是指输出信号比输入信号多出的谐波成分。谐波失真是系统不完全线性造成的。所有附加谐波电平之和称为总谐波失真。总谐波失真与频率有关。一般说来&#xff0c;1000Hz频率处的总谐波失真最小&#xff0c;因此不少产品均以…...

[C++]多态

&#x1f941;作者&#xff1a; 华丞臧 &#x1f4d5;​​​​专栏&#xff1a;【C】 各位读者老爷如果觉得博主写的不错&#xff0c;请诸位多多支持(点赞收藏关注)。如果有错误的地方&#xff0c;欢迎在评论区指出。 推荐一款刷题网站 &#x1f449;LeetCode 文章目录一、多态…...

中国版ChatGPT高潮即将到来,解密ChatGPT底层网络架构

2022年11月30日人工智能研究实验室OpenAI发布全新聊天机器人ChatGPT&#xff0c;在中国用户无法访问的前提下&#xff0c;上线仅两个月月活用户就突破了1亿。ChatGPT如同重磅炸弹&#xff0c;一时间火遍全球。面对这一万亿级市场机遇&#xff0c;在国内&#xff0c;无论是资本方…...

PingCAP 唐刘:一个咨询顾问对 TiDB Chat2Query Demo 提出的脑洞

导读 近日&#xff0c;TiDB Cloud 发布了 Chat2Query 功能&#xff0c;在 TiDB Cloud 上通过自然语言提问&#xff0c;即可生成相应的 SQL&#xff0c;通过 TiDB Cloud 对上传的任意数据集进行分析。Gartner 也在一份有关 ChatGPT 对数据分析影响研究的报告中提及了 PingCAP 的…...

力扣-销售分析III

大家好&#xff0c;我是空空star&#xff0c;本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目&#xff1a;1084. 销售分析III二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.其他总结…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践

在 Kubernetes 集群中&#xff0c;如何在保障应用高可用的同时有效地管理资源&#xff0c;一直是运维人员和开发者关注的重点。随着微服务架构的普及&#xff0c;集群内各个服务的负载波动日趋明显&#xff0c;传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...

二维FDTD算法仿真

二维FDTD算法仿真&#xff0c;并带完全匹配层&#xff0c;输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...

6.9-QT模拟计算器

源码: 头文件: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);…...

云原生时代的系统设计:架构转型的战略支点

&#x1f4dd;个人主页&#x1f339;&#xff1a;一ge科研小菜鸡-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 一、云原生的崛起&#xff1a;技术趋势与现实需求的交汇 随着企业业务的互联网化、全球化、智能化持续加深&#xff0c;传统的 I…...

数据可视化交互

目录 【实验目的】 【实验原理】 【实验环境】 【实验步骤】 一、安装 pyecharts 二、下载数据 三、实验任务 实验 1&#xff1a;AQI 横向对比条形图 代码说明&#xff1a; 运行结果&#xff1a; 实验 2&#xff1a;AQI 等级分布饼图 实验 3&#xff1a;多城市 AQI…...

TI德州仪器TPS3103K33DBVR低功耗电压监控器IC电源管理芯片详细解析

1. 基本介绍 TPS3103K33DBVR 是 德州仪器&#xff08;Texas Instruments, TI&#xff09; 推出的一款 低功耗电压监控器&#xff08;Supervisor IC&#xff09;&#xff0c;属于 电源管理芯片&#xff08;PMIC&#xff09; 类别&#xff0c;主要用于 系统复位和电压监测。 2. …...

【汇编逆向系列】四、函数调用包含单个参数之Double类型-mmword,movsd,mulsd,addsd指令,总结汇编的数据类型

一、汇编代码 上一节开始&#xff0c;讲到了很多debug编译独有的汇编方式&#xff0c;为了更好的区分release的编译器优化和debug的区别&#xff0c;从本章节开始将会提供debug和release的汇编用作对比 Debugb编译 single_double_param:00000000000000A0: F2 0F 11 44 24 08…...