JAVA基础5:分支语句

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语句结束。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

进程控制2——进程等待

在上一小节中我们介绍了进程的创建&#xff08;fork&#xff09;与退出&#xff08;main函数的return与exit函数&#xff09; 并且要有一个意识&#xff0c;进程退出的时候只有三种情况&#xff1a; 1.进程退出&#xff0c;结果正确 2.进程退出&#xff0c;结果不正确 3.运行异…

【Linux】tree命令的独特用法

有关tree命令&#xff0c;我们只知道它可以将文件目录以树状图的形式展示&#xff0c;但其实还有很多有意思的功能可以使用。 一、tree命令的安装 各linux版本不同&#xff0c;但软件包名字就叫tree&#xff0c;直接安装即可 ubuntu&#xff1a; apt install tree centos&a…

Linux驱动应用层与内核层之间的数据传递

摘要 本文将深入探讨在Linux驱动中&#xff0c;应用层与内核层之间数据传递的机制和优化策略。我们将详细解析这一过程中的各个步骤&#xff0c;包括数据从应用层到内核层的传输&#xff0c;以及从内核层返回应用层的过程。此外&#xff0c;我们将提出并评估一系列可能的优化策…

交叉编译 mysql-connector-c

下载 mysql-connector-c $ wget https://downloads.mysql.com/archives/get/p/19/file/mysql-connector-c-6.1.5-src.tar.gz 注意&#xff1a;mysql-connector 的页面有很多版本&#xff0c;在测试过程中发现很多默认编译有问题&#xff0c;其中上面的 6.1.5 的版本呢是经过测…

京东数据分析:2023年9月京东笔记本电脑行业品牌销售排行榜

鲸参谋监测的京东平台9月份笔记本电脑市场销售数据已出炉&#xff01; 9月份&#xff0c;笔记本电脑市场整体销售下滑。鲸参谋数据显示&#xff0c;今年9月份&#xff0c;京东平台上笔记本电脑的销量将近59万&#xff0c;环比下滑约21%&#xff0c;同比下滑约40%&#xff1b;销…

高德资深技术专家孙蔚:海量用户应用数据库选型、升级实践

高德地图&#xff08;以下简称“高德”&#xff09;作为一款用户出行必备、拥有海量用户数据的导航软件&#xff0c;对系统运行稳定性要求极高。 一直以来&#xff0c;高德每时每刻都在生产的一些数据库中的数据已经达到数百 TB&#xff0c;数据量的增长不仅带来存储成本的迅速…

【赠书第3期】用ChatGPT轻松玩转机器学习与深度学习

文章目录 前言 1 机器学习 2 深度学习 3 使用ChatGPT进行机器学习和深度学习 4 推荐图书 5 粉丝福利 前言 机器学习和深度学习是当前最热门的技术领域之一&#xff0c;这些技术正在不断地改变我们的生活和工作方式。ChatGPT 是一款基于大规模预训练模型的自然语言处理工…

漏洞扫描-nuclei-poc编写

0x00 nuclei Nuclei是一款基于YAML语法模板的开发的定制化快速漏洞扫描器。它使用Go语言开发&#xff0c;具有很强的可配置性、可扩展性和易用性。 提供TCP、DNS、HTTP、FILE 等各类协议的扫描&#xff0c;通过强大且灵活的模板&#xff0c;可以使用Nuclei模拟各种安全检查。 …

Hadoop架构、Hive相关知识点及Hive执行流程

Hadoop架构 Hadoop由三大部分组成:HDFS、MapReduce、yarn HDFS&#xff1a;负责数据的存储 其中包括&#xff1a; namenode&#xff1a;主节点&#xff0c;用来分配任务给从节点 secondarynamenode&#xff1a;副节点&#xff0c;辅助主节点 datanode&#xff1a;从节点&#x…

京东数据分析:2023年Q3户外鞋服市场分析报告(冲锋衣行业销售数据分析)

从露营、骑行、徒步、桨板、垂钓、飞盘、滑雪到如今的city walk&#xff0c;近两年户外运动已经成为了年轻人新的生活方式。户外运动的爆发也刺激了人们对于鞋服在穿搭、场景化、专业性功能等方向的需求&#xff0c;户外鞋服市场迎来增长。 而全国性的降温则带给目前的户外鞋服…

一键创建PDF文档,高效管理您的文件资料

在繁忙的工作中&#xff0c;您是否曾为处理PDF文件而感到烦恼&#xff1f;现在&#xff0c;我们为您推荐一款全新的高效PDF文档管理工具——一键创建PDF文档&#xff0c;让您的工作效率瞬间提升&#xff01; 首先&#xff0c;在首助编辑高手的主页面板块栏里&#xff0c;选择“…

都说Redux不支持非序列化数据 简单讲解非序列化数据概念 并举例说明

之前我们强调过 redux 不支持非序列化数据 它自带了序列化检查 如果存入非序列化数据 通常情况数据也可以正常存储进去 但是会报异常 大体表达的就是 你这是一个非序列化数据 我们无法提供很好的支持 如果后面出问题了 不要怪我们 那么 具体什么叫非序列化数据呢&#xff1f; …

Python---练习:求幸运数字6

案例&#xff1a; 幸运数字6&#xff08;只要是6的倍数&#xff09;&#xff1a;输入任意数字&#xff0c;如数字8&#xff0c;生成nums列表&#xff0c;元素值为1~8&#xff0c;从中选取幸运数字移动到新列表lucky&#xff0c;打印nums与lucky。 思考&#xff1a; 要求是6的…

rv1126-rv1109-添加分区,定制固件,开机挂载功能

===================================================================== 修改分区: 这里是分区的txt文件选择; 这里是分区的划分,我这里回车了,方便看 FIRMWARE_VER: 8.1 MACHINE_MODEL: RV1126 MACHINE_ID: 007 MANUFACTURER: RV1126 MAGIC: 0x5041524B ATAG: 0x00200…

APP 备案公钥、签名 MD5、SHA-1、SHA-256获取方法。

公钥和 MD5 值可以通过安卓开发工具、Keytool、Jadx-GUI 等多种工具获取&#xff0c;最简单的就是以 appuploader为例。 1.下载 appuploader工具 &#xff0c;点击此处 下载 appuploader 工具。 2.下载完成后&#xff0c;解压压缩包&#xff0c;双击 appuploder 运行。 3.运…

csv文件导入mysql指定表中

csv文件导入mysql指定表中 mysql数据库准备指定表 准备导入的csv数据如下&#xff1a; sepaLengthsepalWidthpetalLengthpetalWidthlabel5.13.51.40.204.931.40.204.73.21.30.20…………… 准备导入的数据为151行5列的数据&#xff0c;其中第一行为标题行。 因此&#xff0…

FPGA时序分析与约束(6)——综合的基础知识

在使用时序约束的设计过程中&#xff0c;综合&#xff08;synthesis&#xff09;是第一步。 一、综合的解释 在电子设计中&#xff0c;综合是指完成特定功能的门级网表的实现。除了特定功能&#xff0c;综合的过程可能还要满足某种其他要求&#xff0c;如功率、操作频率等。 有…

Linux内核有什么之内存管理子系统有什么第六回 —— 小内存分配(4)

接前一篇文章&#xff1a;Linux内核有什么之内存管理子系统有什么第五回 —— 小内存分配&#xff08;3&#xff09; 本文内容参考&#xff1a; linux进程虚拟地址空间 《趣谈Linux操作系统 核心原理篇&#xff1a;第四部分 内存管理—— 刘超》 特此致谢&#xff01; 二、小…

Ps:选区的基本操作

在 Photoshop 中&#xff0c;选区是为处理局部图像而自行定义的一个区域。 定义选区后&#xff0c;操作被限制在选区之内。选区周围显示的虚线边框&#xff0c;俗称“蚂蚁线”。 全选 Select All Ps菜单&#xff1a;选择/全部 Select/All 快捷键&#xff1a;Ctrl A 提示&#…

NI USRP软件无线设备的特点

NI USRP软件无线设备 NI的USRP(Universal Software Radio Peripheral)设备是RF应用中使用的软件无线(SDR)。NI的USRP收发器可以在多个频段发送和接收RF信号&#xff0c;因此可用于通信工程教育和研究。通过与LabVIEW开发环境相结合&#xff0c;USRP可以实现使用无线信号验证无…