java基础知识点(5)——分支语句if-switch
分支语句if-switch
- 前言
- 一、分支结构----流程控制
- 1.分支结构的概述
- 1.1 If语句的第一种格式
- 1.1.1 格式
- 1.1.2. 说明
- 1.1.3.执行流程
- 1.1.4.代码示例
- 1.1.5.If语句的注意事项
- 1.2 if语句的第二种格式
- 1.2.1.格式
- 1.2.2.说明
- 1.2.3.执行流程
- 1.2.4.代码示例
- 1.3 If语句的第三种格式
- 1.3.1.格式
- 1.3.2.执行流程
- 1.2.3.说明
- 1.2.4代码示例
- 2. switch语句
- 1.概念
- 2.格式:
- 3.执行流程:
- 4.代码示例
- 5.switch语句的注意事项
- 1.单词解释:
- 2.表达式:
- 3.case后面只能跟常量,不能跟变量。
- 4.case穿透
- 5.case穿透代码示例:
- 6.default语句
- 7.Switch语句结束的条件,
- 二、If和switch语句的区别
- 1.相同点
- 2.不同点
- 总结
前言
在一个程序中,有很多的代码,代码的执行顺序,就是流程,用于控制代码流程的方式,就是流程控制,接下来我们学习一下流程控制
提示:以下是本篇文章正文内容,下面案例可供参考
一、分支结构----流程控制
1.在一个程序中,有很多的代码,代码的执行顺序,就是流程
2.用于控制代码流程的方式,就是流程控制。
3.流程控制的分类: (1)分支结构。 (2)循环结构
1.分支结构的概述
1.到达某个状态时,可能会有多种情况,每种情况都需要提前准备好,所以多条路的路口就是一个分支。代码写的多,程序运行的少。
2.实现格式有三种:
(1)if
(2)if.....else
(3)if...else if...else if........else
①if语句:if是如果的意思,满足了这种条件,才那个执行相应的代码,实现不同的逻辑
②Switch语句:根据某个变量的值,判读符合哪种执行条件。
1.1 If语句的第一种格式
1.1.1 格式
if(布尔表达式) {语句体;
}
1.1.2. 说明
(1)If语句后面跟着的小括号,里面必须是boolean类型的值,if语句后面的小括号中,只要是计算结果是boolean类型,就合法。
(2)语句体,可以是任意操作。
1.1.3.执行流程
(1)计算布尔表达式的值,要么为true,要么为false (2)如果计算结果为true,执行语句体
(3)如果计算结果为false,就不执行语句体。
1.1.4.代码示例
//第一种方式if(布尔类型){语句体}//键盘录入,判断年龄是否大于十八岁,是的话输出年龄大于十八已成年public static void main(String[] args){//把Scanner方法new进来Scanner sc = new Scanner(System.in);//输出提示语System.out.println("请输入你的年龄:");//获取键盘输入的数据int age = sc.nextInt();if(age > 18){System.out.println("年龄大于十八,已成年");}}
1.1.5.If语句的注意事项
1.if后面跟着的小括号里面,必须是boolean类型的值。
2.If语句后面跟着的小括号里面,只要计算结果为boolean类型,就算合法
3.在小括号后面不要加分号,一般来说,有左大括号,就没有分号,有分号,就没左大括号。
4.语句体:可以是任意语句,如果语句体只有一句,那么大括号可以省略,但是建议所有情况都加上大括号,不要省略。
1.2 if语句的第二种格式
1.2.1.格式
if(条件表达式) {语句体1;
}else{语句体2;
}
1.2.2.说明
(1)是否有某种情况,可以语句体1和语句体2都不执行?不可能,else就已经包含了if不满足的所有状态。
(2)是否有某种情况,可以让语句体1和语句体2都执行?不可能,因为语句体1执行了,if语句就直接结束了。
(3)只能执行其中的一句,并且一定会执行其中的一句
1.2.3.执行流程
(1)计算条件表达式的值,要么为true要么为false (2)如果条件表达式的值为true,执行语句体1
(3)如果条件表达式的值为false,执行语句体2
1.2.4.代码示例
//判断键盘输入的a与b哪个大public static void main(String[] args){Scanner sc = new Scanner(System.in);//键盘提示获取输入的值System.out.println("请输入a的值:");int a = sc.nextInt();System.out.println("请输入b的值:");int b = sc.nextInt();if ( a > b ){System.out.println("a的值最大,最大为:" + a);}else{System.out.println("b的值最大,最大为:" + b);}}
1.3 If语句的第三种格式
1.3.1.格式
if(条件表达式1) {语句体1;
}else if (条件表达式2) {语句体2;
} else if(条件表达式3) {语句体3;
}
.......
}else if(条件表达式n) {语句体n;
}else{语句体n+1;
}
1.3.2.执行流程
(1)计算条件表达式1,如果为true,就执行语句体1
(2)如果条件表达式1位false,计算条件表达式2,如果为true,就执行语句体2
(3)如果条件表达式2位false,就执行条件表达式3…
(4)如果条件表达式1~条件表达式n全都为false,那么就执行语句体else n+1
1.2.3.说明
(1)如果条件表达式1不满足 条件表达式2计算为true,执行语句体2
(2)最后的else语句可以有也可以没有,如果有,就一定有执行的内容,如果没有就可能什么都不执行。
1.2.4代码示例
//键盘录入三个数判断大小 if(){// }else if(){// }else{// }public static void main(String[] args){//new进来Scanner方法Scanner sc = new Scanner(System.in);//提示语System.out.println("请输入三个整数:");int a = sc.nextInt();int b = sc.nextInt();int c = sc.nextInt();int mun;if(a>b){if(a>c){System.out.println("三个数中最大的是:" + a );}else{System.out.println("三个数中最大的是:" + c );}}else{if(b>c){System.out.println("三个数中最大的是:" + b );}else{System.out.println("三个数中最大的是:" + c );}}}
2. switch语句
1.概念
switch:便是英文中的开关,每个条件都像一扇门,开着的,咱们就可以执行,否则就到下一扇门判断。
2.格式:
Switch(表达式) {case 常量1:语句体1;break;case 常量2;语句体2;break;........case 常量n;语句体n;break;default:语句体n+1;
}
3.执行流程:
(1)计算表达式的值,分别和各个常量匹配。 (2)如果和常量1匹配,那么就执行语句体1,break,switch语句就结束了。
(3)如果和常量1不匹配,那么就判断是否和常量2匹配,如果匹配就执行语句体2,break,switch语句结束。
(4)以此类推,如果常量1~常量n都没有和表达式的值匹配,那么就执行default中的内容,switch语句结束。
4.代码示例
//键盘输入月份进行判断季节键盘录入一个月份,输出这个月份的季节
//345月是春季,678是夏季,9、10、11秋季,12、1、2冬季
//其他数字,没有任何季节,录入错误public static void main(String[] args){Scanner sc = new Scanner(System.in);//new进来方法System.out.println("请输入一个月份进行判断季节:");int m = sc.nextInt();switch(m){case (12):System.out.println("您输入的月份是" + m + ",该月份为冬季");break;case (1):System.out.println("您输入的月份是" + m + ",该月份为冬季");break;case (2):System.out.println("您输入的月份是" + m + ",该月份为冬季");break;case (3):System.out.println("您输入的月份是" + m + ",该月份为春季");break;case (4):System.out.println("您输入的月份是" + m + ",该月份为春季");break;case (5):System.out.println("您输入的月份是" + m + ",该月份为春季");break;case (6):System.out.println("您输入的月份是" + m + ",该月份为夏季");break;case (7):System.out.println("您输入的月份是" + m + ",该月份为夏季");break;case (8):System.out.println("您输入的月份是" + m + ",该月份为夏季");break;case (9):System.out.println("您输入的月份是" + m + ",该月份为秋季");break;case (10):System.out.println("您输入的月份是" + m + ",该月份为秋季");break;case (11):System.out.println("您输入的月份是" + m + ",该月份为秋季");break;default :System.out.println("没有任何季节,录入错误");}}
5.switch语句的注意事项
1.单词解释:
(1)Switch:开关 case:情况; break:破坏、退出; default:默认
2.表达式:
(1)Jdk1.5之前支持:byte、short、char、int
(2)Jdk1.5支持:枚举类型
(3)Jdk7及以后支持:String
3.case后面只能跟常量,不能跟变量。
4.case穿透
每个case语句体后面,一定要跟上一个break语句,否则就无法结束switch语句,并且发生case穿透。case穿透的利用:多个情况如果是相同的执行逻辑,那么就可以使用case穿透。
5.case穿透代码示例:
public static void main(String[] args){Scanner sc = new Scanner(System.in);//new进来方法System.out.println("请输入一个月份进行判断季节:");int n = sc.nextInt();switch(n){case (12):case (1):case (2):System.out.println("您输入的月份是" + n + ",该月份为冬季");break;case (3):case (4):case (5):System.out.println("您输入的月份是" + n + ",该月份为春季");break;case (6):case (7):case (8):System.out.println("您输入的月份是" + n + ",该月份为夏季");break;case (9):case (10):case (11):System.out.println("您输入的月份是" + n + ",该月份为秋季");break;default :System.out.println("没有任何季节,录入错误");}}
6.default语句
可以写也可以不写,如果不写,就有可能一个语句都不执行,建议把default语句加上。
default语句可以写在任意位置,无论你写在什么位置,都是在最后去匹配,建议把default语句写在最后。
7.Switch语句结束的条件,
(1)碰到break语句
(2)碰到右大括号。
二、If和switch语句的区别
1.相同点
If语句和switch都可以表达分支结构
2.不同点
①If语句格式相对灵活,更加强大,switch语句相对弱小,所有的switch语句都可以被if语句替代。
②If语句更多的是做一些连续性的判断,而switch语句更多的是做一些离散型的匹配。
③If语句每次都需要获取表达式的值,而switc只获取一次表达式的值,所以相对switch的效率要高一些。
总结
以上就是今天要讲的内容,本文仅仅介绍了流程控制的两种分类,个人感觉if是使用最经常的,要熟练掌握,多练几遍,巩固巩固。(根据自己的学习以及翻阅知识点整理的,侵权删)
java基础知识点(5)——分支语句if-switch相关推荐
- java基础案例教程前4章知识点_java学习记录4 Java基础知识点
java学习记录4 Java基础知识点 1. 注释 单行注释 使用"//"开头,后面是注释的内容 一般在要注释的语句的上面加注释 多行注释 以"/*"开头,以& ...
- 整理的java基础知识点笔记
java基础知识点 (涉及到图片的资源因为在电脑本地,挨个挨个找太浪费时间就不找了) 基础点 **字节:**每逢8位是一个字节,这是数据存储的最小单位. 计算机中的数据转换: 1 Byte = 8 ...
- Java基础知识点整理(2022年最新版)
看了网上很多关于Java基础知识点整理的文章,但是感觉都不是很好,要么不全面,要么不准确,要么排版太乱了,所以今天整理了一份Java基础知识点整理(2022年最新版),希望对大家有帮助哈~ 由于本文篇 ...
- java基础知识大全,java 基础知识点汇总
java 基础知识点汇总 问题一:我声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个Strin ...
- java基础知识点整理一
java基础知识点整理一 引言 '''突然发觉任何一门语言的基础知识部分,都比较杂一些.如果个人经过梳理之后,知识体系系统化,可以让基础更加牢靠一些.但是还是会有一些遗忘.所以,我想把一些比较重要但是 ...
- java重要基础知识点_必看 | 新人必看的Java基础知识点大梳理
原标题:必看 | 新人必看的Java基础知识点大梳理 各位正在认真苦学Java的准大神,在这烈日炎炎的夏季里,老九君准备给大家带来一个超级大的"冰镇西瓜,"给大家清凉一下,压压惊. ...
- JAVA基础知识点-入门必备
本文主要是我之前复习Java基础原理过程中写的Java基础知识点总结.Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有理解其底层实 ...
- 【Java基础篇】你真的懂switch语句吗?
switch语句语法 switch (expression) {case value://语句break;//可选//可以有任意个case语句default://可选//语句} 注意点 switch的 ...
- java基础:【分支、循环语句】swith csae 分支语句
前言 正文 分支流程控制语句 if ... else 语法: 1)if(布尔值|逻辑|比较表达式){ 语句块 }else{ 语句块 } 2)if(表达式){ }else if(表达式){ } . . ...
最新文章
- 【转】ABAP的坑2
- micropython开发idethonny_ESP32 Micropython开发利器Thonny IDE介绍
- static class 静态类(Java)转
- 饿了么翻车,美团被质疑,马云也赔了40亿,这项技术为什么让人害怕?
- 第60课 比特超市 《小学生C++趣味编程》
- python2 urllib2_python2.7 urllib和urllib2
- kafka 分组消费topic_关于kafka更改消费者对应分组下的offset值
- 曾经我对python shutil很迷茫,直到我看完这篇实操目录……
- labview由于其他对话正在访问FIFO_LabVIEW常用工具、调试工具汇总
- CCNA学习指南中文第七版——8.22章节详解
- 毕业设计 嵌入式电子时钟设计与实现
- 宗成庆《统计自然语言处理》 目录的思维导图
- 《手把手教你学DSP-基于TMS320F28335》书中的错误
- faster RCNN之RPN详解
- 员工培训与开发实训心得体会_人力资源实训个人总结
- 华硕aura完全卸载_手感细腻,外观出色,配件良心、华硕TUF GAMING K7 光轴机械键盘...
- C#,编写制作《扫雷》游戏代码的前传——作弊手段大曝光
- linux关闭防火墙安装Vmware tools
- python中集合的符号_python集合中的操作符有哪些?怎么用?
- STM32开发 --- W25Q128读写、SPI通信