Java学习笔记19——流程控制语句

 

 

 

顺序结构:

 

 

 

 

 

 

选择结构:

 

 

其中,选择结构的if语句有三种格式

 

 

选择结构中的if语句:
if语句第一种格式:
if(关系表达式){
如果关系表达式的结果是true,执行大括号中的语句
如果关系表达式的结果是false,就跳过不执行
}
 
执行流程:
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体
 
示例:
结果为true的情况

 

 

结果为false的情况:

 

 

注意事项:
1、如果在关系表达式小括号后面加上一个分号,说明if语句结束
默认存在一个空语句体

 

 

2、括号都是成双成对出现

 

 

 

 

 

 
3、小括号中的结果必须是布尔类型(boolean类型)

 

 

 

 

if语句的第二种格式:
格式:
if(关系表达式){
语句体1;
}else{
语句体2;
}
 
执行流程:
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
 
举例:上厕所案例,用键盘录入实现
 
分析:
1、导包
2、创建键盘录入对象
3、键盘录入信息
4、if判断输入的信息是男生还是女生
5、输出
 

(String:字符串数据类型)

 

 

 

if语句的第二种格式与三目运算符的关系:
三目运算符——>转成——>if语句的第二种格式

 

 

如上图所示,三目运算符和if语句的效果是一样的。都能得到结果是20

 
 
 
在某些特定的情况下,他们之间是不可以相互转换的
示例1:
先看if语句

 

 

但是把以上的语句写成三目运算符就不行
   

 

 

三目运算符都有一个变量接收运算结果,因为后面只是输出语句,不代表任何数据类型。而且在三目运算符写上
输出语句的这种形式也是不允许的
 
结论1:当if-else格式中的语句体是一条输出语句的时候,不能转换成三目运算符
 
 
 
示例2:
若把这样的if语句转换成三目运算符时
 
先看if语句:

 

 

尝试转换:

 

 

结果报错

 
结论2:当if-else中的语句体不是一条的时候,也不能转换成三目运算符
 
 
 
if语句的第三种格式:
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}
...
else{
语句体n+1;
}
 
 
案例:
需求:
学生考试成绩判断:
0-60 不及格
60-80 中等
80-90 良好
90-10 0优秀
键盘录入改进

 

 

 

 

if语句的嵌套:

 

 

案例1:
键盘录入x的值,计算出y的值并输出
x和y的关系满足如下:
x>=3 y=2x+1;
-1<=x<3 y=2x;
x<=-1 y=2x-1;
 
分析:
1、导包
2、创建键盘录入对象
3、用变量x接收键盘录入的int类型的数据
4、if语句判断执行不同的路径
5、输出
 

 

 

 

 

 

案例2:
键盘录入月份的值,输出对应的季节
3-5 春季
6-8 夏季
9-11 秋季
12-2 冬季
 

 

 

 

 

 

 

案例3:
需求:获取三个数中的最大值

 

 

 

 

此案例用键盘录入改进:

 

 

 

 

若两个数比较大小:
三目运算符实现

 

 

if条件语句实现
1、不考虑两数相等

 

 

2、考虑两数相等

 

 

结论:情况1代码不够严谨
 
 
 
 
Day5总结:
 
1、逻辑运算符(布尔类型的数据参与运算)
&,|,&&,||,^, !
&: 有false则false
|: 有true则true
&&: 有false则false, 如果左边是false,右边就不执行,结果为false
||: 有true则true,如果左边是true,右边就不执行,结果为true
^: 相同为false,不同为true
!: true变成false,false变成true
 
2、位运算符:数据参与运算的都是二进制的补码形式
&,|,^, ~,<<,>>,>>>
&: 有0则0
|:有1则1
^: 相同则0,不同则1
~: 取反,1变成0,0变成1
<<: 补码左移,左边多出来的位丢弃,右边用0补齐
>>: 补码右移,右边多出来的位丢弃,左边最高位如果是1则用1补齐,如果是0用0补齐
>>>: 补码右移,右边多出来的位丢弃,左边无论是0还是1都用0补齐
 
3、三目运算符:
格式:
(关系表达式)?表达式1:表达式2;
 
4、控制语句
1)顺序结构(按照代码的顺序,自上而下执行)
2)选择结构
A: if语句
格式:
a: if(关系表达式){
语句体;
}
b: if(关系表达式){
语句体1;
}else{
语句体2;
}
c: if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}else if(关系表达式3){
语句体3;
}
..
else{
语句体n;
}
 
B: switch语句
posted @ 2021-11-29 21:35  欧朋  阅读(69)  评论(0)    收藏  举报