JAVA基础5:分支语句

news2024/11/22 16:10:36

1.流程控制

1)流程控制语句分类

  • 顺序结构
  • 分支结构(if,switch)
  • 循环结构(for,while,do...while)

2.顺序结构

顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

顺序结构的执行流程图:

2.if语句

1)if语句格式1

格式:

if(关系表达式){

语句体;

}

执行流程:

①首先计算关系表达式的值

②如果关系表达式的值为true就执行语句体

③如果关系表达式的值为false就不执行语句体

④继续执行后面的语句内容

/*
	if语句格式1:
	格式:
		if(关系表达式){

			语句体;

		}

	执行流程:

		①首先计算关系表达式的值

		②如果关系表达式的值为true就执行语句体

		③如果关系表达式的值为false就不执行语句体

		④继续执行后面的语句内容
*/
public class IfDemo{
	public static void main(String[] args){
		System.out.println("开始");
		
		//定义两个变量
		int a = 10;
		int b = 20;
		
		//需求:判断a和b的值是否相等,如果相等,就在控制台输出:a等于b。
		if(a == b){
			System.out.println("a等于b");
		}
		
		//需求:判断a和c的值是否相等,如果相等,就在控制台输出:a等于c。
		int c = 10;
		if(a == c){
			System.out.println("a等于c");
		}
		
		System.out.println("结束");
		
	}
}

2)if语句格式2

格式:

if(关系表达式){

语句体1;

}else{

语句体2;

}

执行流程:

①首先计算关系表达式的值

②如果关系表达式的值为true就执行语句体1

③如果关系表达式的值为false就执行语句体2

④继续执行后面的语句内容

/*
	if语句格式2:
	格式:

	if(关系表达式){

		语句体1;

	}else{

		语句体2;

	}

	执行流程:

		①首先计算关系表达式的值

		②如果关系表达式的值为true就执行语句体1

		③如果关系表达式的值为false就执行语句体2

		④继续执行后面的语句内容
*/
public class IfDemo{
	public static void main(String[] args){
		System.out.println("开始");
		
		//定义两个变量
		int a = 10;
		int b = 20;
		b = 5;
		
		//需求:判断a是否大于b;如果是,在控制台输出:a的值大于b;如果不是,在控制台输出:a的值不大于b。
		if(a > b){
			System.out.println("a的值大于b");
		}else{
			System.out.println("a的值不大于b");
		}
		
		System.out.println("结束");
		
	}
}

例子:判断奇偶数

/*
	奇偶数
	需求:
		任意给出一个整数,请用程序实现判断该整数是奇数还是偶数,并在控制台输出该整数是奇数还是偶数。
*/
import java.util.Scanner;
public class IfDemo{
	public static void main(String[] args){
		System.out.println("请输入一个整数:");
		Scanner sc = new Scanner(System.in);
		int number = sc.nextInt();
		if( number % 2 == 0){
			System.out.println(number + "是偶数");
		}else{
			System.out.println(number + "是奇数");
		}
		
	}
}

3)if语句格式3

格式:

if(关系表达式1){

语句体1;

}else if(关系表达式2){

语句体2;

}

...

else{

语句体n+1;

}

执行流程:

①首先计算关系表达式的值

②如果关系表达式的值为true就执行语句体1;如果值为false就计算关系表达式2的值

③如果关系表达式的值为true就执行语句体2;如果值为false就计算关系表达式3的值

④...

⑤如果没有任何关系表达式为true,就执行语句n+1。

/*
	if语句格式3:
	格式:

	if(关系表达式1){

		语句体1;

	}else if(关系表达式2){

		语句体2;

	}

	...

	else{

		语句体n+1;

	}

	执行流程:

		①首先计算关系表达式的值

		②如果关系表达式的值为true就执行语句体1;如果值为false就计算关系表达式2的值

		③如果关系表达式的值为true就执行语句体2;如果值为false就计算关系表达式3的值

		④...

		⑤如果没有任何关系表达式为true,就执行语句n+1。
*/
import java.util.Scanner;
public class IfDemo{
	public static void main(String[] args){
		System.out.println("开始");
		
		//需求:键盘录入一个星期数(1,2,...7),输出对应的星期一,星期二,...星期日
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请输入一个星期数(1-7):");
		int week = sc.nextInt();
		if( week == 1){
			System.out.println("星期一");
		}else if( week == 2){
			System.out.println("星期二");
		}else if( week == 3){
			System.out.println("星期三");
		}else if( week == 4){
			System.out.println("星期四");
		}else if( week == 5){
			System.out.println("星期五");
		}else if( week == 6){
			System.out.println("星期六");
		}else{
			System.out.println("星期日");
		}
		
		System.out.println("结束");
		
	}
}

例子:考试奖励

/*
	考试奖励
	需求:
		小明快要期末考试了,小明爸爸会根据小明的不同考试成绩送他不同的礼物,假如你可以控制小明的分数,
		请用程序实现小明到底该获得什么样的礼物,并在控制台输出。
	奖励:
		95-100	山地自行车一辆
		90-95	游乐场玩一次
		80-89	变形金刚玩具一个
		80以下	胖揍一顿
*/
import java.util.Scanner;
public class IfDemo{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请输入一个分数:");
		int score = sc.nextInt();
		/*
		if( score >= 95 && score <= 100){
			System.out.println("奖励:山地自行车一辆");
		}else if( score >= 90 && score < 95){
			System.out.println("奖励:游乐场玩一次");
		}else if( score >= 80 && score < 90){
			System.out.println("奖励:变形金刚玩具一个");
		}else{
			System.out.println("奖励:胖揍一顿");
		}
		*/
		//数据测试:正确数据,边界数据,错误数据
		if( score >= 100 || score < 0){
			System.out.println("你输入的分数有误");
		}else if( score >= 95 && score <= 100){
			System.out.println("奖励:山地自行车一辆");
		}else if( score >= 90 && score < 95){
			System.out.println("奖励:游乐场玩一次");
		}else if( score >= 80 && score < 90){
			System.out.println("奖励:变形金刚玩具一个");
		}else{
			System.out.println("奖励:胖揍一顿");
		}
	}
}

注意事项:正确数据,边界数据,错误数据

3.switch语句

格式:

switch(表达式){

        case值1:

                       语句体1;

                        break;

        

        case值2:

                       语句体1;

                        break;

        ...

        

        default:

                       语句体n+1;

                        [break;]

}

格式说明:

  • 表达式:取值为byte、short、int、char、JDK5以后可以是枚举,JDK7以后可以是String.
  • case:后面跟的是要和表达式进行比较的值。
  • break:表示中断,结束的意思,用来结束switch语句。
  • default:表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。

执行流程:

①首先计算表达式的值

②依次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束

③如果所有的case后面的值和表达式的值都不匹配,就会执行default里面的语句体,然后程序结束掉。

/*
	Swictch语句
*/
import java.util.Scanner;
public class SwitchDemo{
	public static void main(String[] args){
		System.out.println("开始");
		
		//需求:键盘录入一个星期数(1-7),输出对应的星期一,星期二,...星期日
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请输入一个星期数(1-7):");
		int week = sc.nextInt();
		
		switch(week){
			case 1:
			System.out.println("星期一");
			break;
			case 2:
			System.out.println("星期二");
			break;
			case 3:
			System.out.println("星期三");
			break;
			case 4:
			System.out.println("星期四");
			break;
			case 5:
			System.out.println("星期五");
			break;
			case 6:
			System.out.println("星期六");
			break;
			case 7:
			System.out.println("星期日");
			break;
			default:
				System.out.println("你输入的星期数有误");
				break;
		}
		System.out.println("结束");
		
	}
}

例子:春夏秋冬

/*
	春夏秋冬
	需求:
		一年有12个月,分属于春夏秋冬4个季节,键盘录入一个月份,请用程序实现判断该月份属于哪个季节,并输出。
		春:3,4,5
		夏:6,7,8
		秋:9,10,11
		冬:1,2,12
*/
import java.util.Scanner;
public class SwitchDemo{
	public static void main(String[] args){
		System.out.println("开始");
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请输入一个月份:");
		int week = sc.nextInt();
		/*
		switch(week){
			case 1:
				System.out.println("冬天");
				break;
			case 2:
				System.out.println("冬天");
				break;
			case 3:
				System.out.println("春天");
				break;
			case 4:
				System.out.println("春天");
				break;
			case 5:
				System.out.println("春天");
				break;
			case 6:
				System.out.println("夏天");
				break;
			case 7:
				System.out.println("夏天");
				break;
			case 8:
				System.out.println("夏天");
				break;
			case 9:
				System.out.println("秋天");
				break;
			case 10:
				System.out.println("秋天");
				break;
			case 11:
				System.out.println("秋天");
				break;
			case 12:
				System.out.println("冬天");
				break;
			default:
				System.out.println("你输入的月份有误");
				break;
		}
		*/
		//case穿透
		switch(week){
			case 1:
			case 2:
			case 12:
				System.out.println("冬天");
				break;
			case 3:
			case 4:
			case 5:
				System.out.println("春天");
				break;
			case 6:	
			case 7:	
			case 8:
				System.out.println("夏天");
				break;
			case 9:
			case 10:
			case 11:
				System.out.println("秋天");
				break;
			default:
				System.out.println("你输入的月份有误");
		}
		System.out.println("结束");
		
	}
}

注意事项:在switch语句中,如果case控制的语句体后面不写break,将出现穿透现象,在不判断下一个case值的情况下,向下运行,直到遇到break,或者整体switch语句结束。

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

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

相关文章

WebGL-Vue3-TS-Threejs:基础练习 / Javascript 3D library / demo

一、理解Three.js Three.js是一个用于WebGL渲染的JavaScript库。它提供了一组工具和类&#xff0c;用于创建和渲染3D图形和动画。简单理解&#xff08;并不十分准确&#xff09;&#xff0c;Three.js之于WebGL&#xff0c;好比&#xff0c;jQuery.js之于JavaScript。 OpenGL …

Gated Context Aggregation Network for Image Dehazing and Deraining(GCANet)

1 总体概述 GCANet是端到端去雾的一篇代表性的文章&#xff0c;它摒弃以往使用手工设计的先验以及大气散射模型的使用&#xff0c;直接通过原始有雾图像估计出无雾图像J与有雾图像I之间的残差&#xff0c;图像恢复阶段直接使用网络输出的残差与输入有雾图像I之间的加和完成去雾…

跨境电商商城源码,支持多语言,开启全球贸易新篇章!

随着全球化的不断深入&#xff0c;跨境电商已经成为越来越多企业的选择。我们为您提供的跨境电商源码产品&#xff0c;具有强大的多语言支持功能&#xff0c;可轻松扩展至多个语言&#xff0c;助您迅速占领全球市场&#xff0c;实现业务的国际化发展。 一、多语言支持&#xff…

uniapp蓝牙搜索设备并列表展示

1.需求&#xff1a;3.0的桩可以值扫码通过蓝牙名字直接绑定&#xff0c;2.0的桩二维码无蓝牙名称则需通过蓝牙列表来绑定 2.碰到问题 1.0 蓝牙列表需要去重&#xff08;蓝牙列表通过deviceId去重再放进展示列表&#xff09; 2.0页面会卡顿&#xff08;调用my.stopBluetoothDevi…

(附源码)基于spring boot 房屋租赁系统小程序-计算机毕设 88306

spring boot 房屋租赁系统小程序 目 录 摘要 1 绪论 1.1选题意义 1.2开发现状 1.3springboot框架介绍 1.4论文结构与章节安排 2 房屋租赁系统小程序系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.…

【Spring】AOP实现原理

注册AOP代理创建器 在平时开发过程中&#xff0c;如果想开启AOP&#xff0c;一般会使用EnableAspectJAutoProxy注解&#xff0c;这样在启动时&#xff0c;它会向Spring容器注册一个代理创建器用于创建代理对象&#xff0c;AOP使用的是AnnotationAwareAspectJAutoProxyCreator&…

MES系统数据集成系统源码

MES系统数据集成系统源码 1 MES的生产计划管理综述 生产计划的管理在MES系统中是非常重要的。我们知道&#xff0c;一般的情况下&#xff0c;企业的生产计划是由上层管理系统ERP来完成&#xff0c;那么MES中的生产计划和ERP的生产计划的不同点在于&#xff1a; ERP的生产计划…

选择振弦采集仪进行岩土工程监测时,根据不同工况选择合适的种类

选择振弦采集仪进行岩土工程监测时&#xff0c;根据不同工况选择合适的种类 岩土工程监测是保证工程质量和安全的重要手段。振弦采集仪是一种常用的岩土工程监测仪器&#xff0c;可用于对岩土工程场地振动环境的监测。它具有测量精度高、实时性强、易于安装、使用方便等特点。…

唯众技能大赛公开公平公正践行者

​近日&#xff0c;2023一带一路暨金砖国家技能发展与技术创新大赛网络综合布线赛项成功举办。唯众创始人辜渝傧对本次比赛情况就相关问题回答了记者提问。 采访人&#xff1a;第一个问题&#xff0c;咱们这一次“2023一带一路暨金砖国家技能发展与技术创新大赛之网络综合布线赛…

React【异步逻辑createAsyncThunk(一)、createAsyncThunk(二)、性能优化、createSelector】(十二)

文章目录 异步逻辑 createAsyncThunk&#xff08;一&#xff09; createAsyncThunk&#xff08;二&#xff09; 性能优化 createSelector 异步逻辑 //Product.js const onAdd () > {const name nameRef.current.value// 触发添加商品的事件dispatch(addProduct({name…

基于.NET的强大文件格式开源转换工具

推荐一个非常强大、轻便的强大文件格式转换工具。 01 项目简介 一个基于.NET平台的开源文件格式转换工具&#xff0c;可以支持Windows 7/8/10等操作系统。安装后在右键菜单中出现 “File Converter” 项目&#xff0c;可以方便地通过右键菜单对选中文件进行格式转换&#xff…

HALCON的python下的使用方法(直接开发,不需要调用.hdev文件)

一、环境配置方法 基本要求&#xff1a; Python版本>3.8 ; Halcon版本 >20.11 1&#xff09;首先创建一个python版本大于3.8的基础环境 2&#xff09;然后查看自己的halcon的版本&#xff0c;在该环境下安装halcon 如图所示&#xff0c;版本是20110&#xff0c;执行以…

Java,多线程,线程的两种创建方式

首先是多线程的一些相关概念&#xff1a; 相关概念&#xff1a; 程序&#xff08;program&#xff09;&#xff1a;为完成特定任务&#xff0c;用某种语言编写的一组指令的集合。即指一段静态&#xff08;指不在执行中&#xff09;的代码。 进程&#xff08;process&#xf…

十分钟了解回归测试

1. 什么是回归测试&#xff08;Regression Testing&#xff09; 回归测试是一个系统的质量控制过程&#xff0c;用于验证最近对软件的更改或更新是否无意中引入了新错误或对以前的功能方面产生了负面影响&#xff08;比如你在家中安装了新的空调系统&#xff0c;发现虽然新的空…

34 mysql limit 的实现

前言 这里来看一下 我们常见的 mysql 分页的 limit 的相的处理 这个问题的主要是来自于 之前有一个需要处理 大数据量的数据表的信息, 将数据转移到 es 中 然后就是用了最简单的 “select * from tz_test limit $pageOffset, $pageSize ” 来分页处理 但是由于 数据表的数…

[autojs]逍遥模拟器和vscode对接

第一步&#xff1a;启动autojs服务 第二步&#xff1a;去cmd查看ip地址&#xff0c;输入ipconfig 第三步&#xff1a;打开逍遥模拟器中的sutojs-左上角- 连接电脑&#xff0c;然后输入WLAN或者其他ip也行&#xff0c;根据自己电脑实际情况确认 此时vscode显示连接成功。我们写…

上传ipa到appstore最简单的方法

假如使用原生xcode开发ios的app&#xff0c;可以使用xcode提交打包好的ipa文件到app store&#xff0c;但是假如使用hbuilderx或者apicloud等H5工具开发的app&#xff0c;假如没有mac电脑&#xff0c;是无法将ipa提交到app store的。 因为苹果开发者并不能在线上传ipa到app st…

数据结构-图的应用

最小生成树&#xff08;最小代价树&#xff09; 对于一个带权连通无向图G(V,E)&#xff0c;生成树不同&#xff0c;每棵树的权&#xff08;即树中所有边上的权值之和)也可能不同。设R为G的所有生成树的集合&#xff0c;若T为R中边的权值之和最小的生成树&#xff0c;则T称为G的…

SPI简介及FPGA通用MOSI模块实现

简介 SPI&#xff08;Serial Peripheral Interface&#xff0c;串行外围设备接口&#xff09;通讯协议&#xff0c;是Motorola公司提出的一种同步串行接口技术。是一种高速、全双工、同步通信总线。在芯片中只占用四根管脚用来控制及数据传输。 优缺点&#xff1a; SPI通讯协…

VM17虚拟机设置网络,本地使用工具连接虚拟机

VM17虚拟机设置网络&#xff0c;本地使用工具连接虚拟机 下载及安装虚拟机不再说明&#xff0c;网络一堆教程。此处只对VM17设置网路及本地使用工具连接虚拟机操作&#xff0c;进行说明。 我下载的是VM17&#xff0c;网上有说VM16是较稳定的版本。想尝尝鲜&#xff0c;结果耗…