JavaSE-03 Java选择结构
学习要点
- if选择结构
- switch选择结构
if选择结构
单分支if选择结构
语法结构

应用场合
问题:如果王小强的Java考试成绩大于98分,小强就能获得一个iphone8作为奖励。

复杂条件下的if选择结构
问题:小强Java成绩大于98分,而且音乐成绩大于80分,老师奖励他;或者Java成绩等于100分,音乐成绩大于70分,老师也可以奖励他。
逻辑运算符
|
运算符 |
表达式 |
说明 |
|
&& |
条件1 && 条件2 |
仅仅两个条件同时为真,结果为真 |
|
|| |
条件1 || 条件2 |
只要两个条件有一个为真,结果为真 |
|
! |
! 条件 |
条件为真时,结果为假 条件为假时,结果为真 |
解决方案:

需要注意:逻辑运算符的短路问题和优先级问题。例如“||”符号前一个条件成立的话就不会计算后一个条件。
双分支if选择结构
语法结构

流程图

如何绘制流程图

圆角矩形:程序的开始和结束
矩形:执行
菱形:判断
梯形:输入输出
箭头:程序流程
上机练习
需求描述:如果体彩中了500万,我买车、资助希望工程、去欧洲旅游;如果没中,我买下一期体彩,继续烧高香。
实现:1、画出流程图;2、代码实现。
上机练习
需求描述:从键盘输入4位数字学号。四位数字平均数取整数,结果等于产生的随机数字即为幸运会员。
实现:1、画出流程图;2、代码实现。
提示:1、使用if-else选择结构,输出中奖或者感谢支持信息;2、0-9随机数生成方法:int random=(int)(Math.random()*10);
多分支if选择结构
问题:学员成绩评测
成绩>=80 :良好
成绩>=60 :中等
成绩<60 :差
解决方案
- 将成绩分成几个连续区间判断
- 单个if选择结构无法完成
- 多个if选择结构很麻烦
- 使用多重if选择结构

多分支选择结构语法分析

上机练习
需求描述:我想买车,买什么车决定于我在银行有多少存款
如果我的存款超过500万,我就买法拉利
否则,如果我的存款超过100万,我就买宝马
否则, 如果我的存款超过50万,我就买奔驰
否则, 如果我的存款超过10万,我就买大众
否则, 如果我的存款10万以下 ,我买捷安特
要求:代码实现。
注意:多分支选择结构条件顺序问题。
嵌套if选择结构
问题:学校举行运动会,百米赛跑跑入10秒内的学生有资格进决赛,根据性别分别进入男子组和女子组。
解决方案:
判断是否能够进入决赛
在确定进入决赛的情况下,判断是进入男子组,还是进入女子组
使用嵌套if选择结构
嵌套if选择结构语法分析

上机练习:请写出这一问题的代码实现
switch选择结构
问题:王小强参加计算机编程大赛
如果获得第一名,将参加麻省理工大学组织的1个月夏令营
如果获得第二名,将奖励惠普笔记本电脑一部
如果获得第三名,将奖励移动硬盘一个
否则,不给任何奖励
解决方案:
使用多重if选择结构实现:缺点——结构复杂,啰嗦
使用switch选择结构解决:条件——等值判断
switch选择结构语法分析

注意:break的用法。
例如:1,3,5吃快餐,2,4,6,7吃大餐,如何实现?
上机练习:实现学生信息管理系统菜单的实现
多重if选择结构和switch选择结构的区别
|
选择结构 |
相同点 |
不同点 |
|
switch选择结构 |
都是用来处理多分支条件的结构 |
只能处理等值条件判断的情况,而且条件必须是整型变量、字符型变量或者字符串 |
|
多重if选择结构 |
没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况 |
JavaSE-03 Java选择结构的更多相关文章
- Java选择结构和数组
Java选择结构和数组 一.Switch语句 二.if和switch区别 推荐使用if 三.函数 Java中的函数和方法是同一个词 四.数组 4.1.数组常见错误 五.内存机制 六.转换成十六进制 移 ...
- java 选择结构if
图1-1 if…else if…else语句的流程图 选择结构if语句与三元运算转换 三元运算符,它和if-else语句类似,语法如下: 判断条件 ? 表达式1 : 表达式2 三元运算符会得 ...
- java选择结构
/**选择结构*/ public class Demo06{ public static void main(String []args){ // if...else...型 String name ...
- Java选择结构和循环结构
1.选择结构 ①.ifif(){ } if(){}else{} if(){}else if(){}else if(){}else{} ②.switch switch (表达式) { case 常量 1 ...
- Java选择结构、循环结构
1:switch语句(掌握) (1)格式: switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; break; ... default: 语句体n+1; ...
- 036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构
036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构 本文知识点:Java中的嵌套if结构 什么是嵌套if结构? 概念: 嵌套if结构 ...
- Java流程控制03——选择结构
选择结构 if单语句结构 我们很多时候要去判断一个东西是否可行,然后我们才去执行,这样一个过程我们用if语句来表示 语法 if(布尔表达式){ //如果布尔表达式结果为true将执行的语句 } if ...
- java基础05 选择结构
选择结构 public class Demo01Change { public static void main(String[] args) { /** * 实现等量的转换 */ int a = 5 ...
- Java 第三章 选择结构1
选择结构(一) 会使用基本的 if 选择结构 掌握逻辑运算符,掌握多重 if 选择结构 , 掌握嵌套 if 选择 结构 为什么需要 if 选择结构 例如: 如果张浩的 java 考试成绩大于 98分, ...
随机推荐
- 附加类型“UniversalReviewSystem.Models.ApplicationUser”的实体失败,因为相同类型的其他实体已具有相同的主键值。在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形中的任何实体具有冲突键值
在使用asp.net Identity2 的 UserManager RoleManager 时,同时还有其他仓储类型接口,能实现用户扩展信息的修改,用户注册没有问题.当修改用户信息时,出现了如下异常 ...
- E20180402-hm
cascade n. 串联; 倾泻; 小瀑布,瀑布状物; restrict vt. 限制,限定; 约束,束缚; strict adj. 精确的; 绝对的; 严格的,严谨的; [植] 笔直的; re ...
- bzoj 3230: 相似子串【SA+st表+二分】
总是犯低级错误,st表都能写错-- 正反分别做一遍SA,预处理st表方便查询lcp,然后处理a[i]表示前i个后缀一共有多少个本质不同的子串,这里的子串是按字典序的,所以询问的时候直接在a上二分排名就 ...
- bzoj 5294: [Bjoi2018]二进制【动态dp+线段树】
不太清楚是不是动态dp--? 这个维护其实和最大连续子段差不多,维护l[x][y],r[x][y],m[x][y]分别表示包含左儿子的01个数为(x,y)的区间个数,包含右儿子的01个数为(x,y)的 ...
- bzoj4145 [AMPPZ2014]The Prices(状压dp)
Description 你要购买m种物品各一件,一共有n家商店,你到第i家商店的路费为d[i],在第i家商店购买第j种物品的费用为c[i][j], 求最小总费用. Input 第一行包含两个正整数n, ...
- 布线问题 最小生成树 prim + kruskal
1 : 第一种 prime 首先确定一个点 作为已经确定的集合 , 然后以这个点为中心 , 向没有被收录的点 , 找最短距离( 到已经确定的点 ) , 找一个已知长度的最小长度的 边 加到 s ...
- 洛谷 P3455 [POI2007]ZAP-Queries || 洛谷P2522,bzoj2301
https://www.luogu.org/problemnew/show/P3455 就是https://www.cnblogs.com/hehe54321/p/9315244.html里面的方法2 ...
- 线段树(单点更新)/树状数组 HDOJ 1166 敌兵布阵
题目传送门 /* 线段树基本功能:区间值的和,修改某个值 */ #include <cstdio> #include <cstring> #define lson l, m, ...
- Centos 6.5安装MySQL-python
报错信息: Using cached MySQL-python-1.2.5.zip Complete output from command python setup.py egg_info: ...
- Vue 页面加载闪现代码问题
CSS中 [v-cloak] { display: none; } HTML中 <div v-cloak> {{ message }} </div> 显示代码主要是{{}}这个 ...