闰年判断
一 编程实现
在net.guoxin.p02.t02包里创建Tasko2类
运行结果
闰年条件涉及到两种逻辑运算符,逻辑与&&和逻辑或||,但是没有用逻辑非!,请你修改闰年条件,能够将三种逻辑运算符都派上用场。(在Python里:not、and、or)
二 讲解知识点
三 拓展练习
任务1 计算圆面积(选择结构版)
利用选择结构防范用户输入负的半径
(一)编程实现
方法一、采用并列式多分支结构评定成绩等级
思路:有多少种情况,就并列写多少个单分支
第一个分段:
s
c
o
r
e
>
100
,
s
c
o
r
e
∈
(
100
+
∞
)
score >100,score \in (100 +\infty)
score>100,score∈(100+∞)-超出范围
第二个分段:
90
≤
s
c
o
r
e
≤
100
,
s
c
o
r
e
∈
[
90
,
100
]
90 \le score \le 100,score \in[90,100]
90≤score≤100,score∈[90,100]-优秀
第三个分段:
80
≤
s
c
o
r
e
<
90
,
s
c
o
r
e
∈
[
80
,
90
]
80 \le score \lt 90,score \in [80,90]
80≤score<90,score∈[80,90]-良好
第四个分段:
70
≤
s
c
o
r
e
<
80
,
s
c
o
r
e
∈
[
70
,
80
]
70\le score \lt 80,score \in [70,80]
70≤score<80,score∈[70,80]-中等
第五个分段:
60
≤
s
c
o
r
e
<
70
,
s
c
o
r
e
∈
[
60
,
70
]
60 \le score \lt70,score \in [60,70]
60≤score<70,score∈[60,70]-及格
第六个分段:
0
≤
s
c
o
r
e
<
60
,
s
c
o
r
e
∈
[
0
,
60
]
0 \le score \lt60,score \in [0,60]
0≤score<60,score∈[0,60]-不及格
第七个分段:
s
c
o
r
e
≤
0
,
s
c
o
r
e
∈
(
−
∞
,
0
)
score \le0,score \in(-\infty,0)
score≤0,score∈(−∞,0)-超出范围
在net.guoxin.p01.t02.Task03
总结:并列式多分支结构,优点是易于理解,但缺点是效率低(思考一下,为什么效率低)。
其实,这个程序可以做点优化,因为成绩大于100分或小于0分都是超出范围,所以可以将这两个并列的分之合而为
/**
-
功能:采用并列式多分支结构评定成绩等级
-
作者:郭鑫
-
日期:2022年03月31日
*/
public class Task03 {
public static void main(String[] args) {
//声明部分
int score;
String level;
Scanner sc = new Scanner(System.in);//输入部分 System.out.println("score = "); score = sc.nextInt(); //处理部分 level = ""; if (score > 100) level = "超出范围"; if (score >= 90 && score <= 100) level = "优秀"; if (score >= 80 && score <= 90) level = "良好"; if (score >= 70 && score <= 80) level = "中等"; if (score >= 60 && score <= 70) level = "及格"; if (score >= 0 && score <= 60) level = "不及格"; if (score > 100) level = "超出范围"; //输出部分 System.out.println(level);
}
}
局部变量必须初始化,否则会报错
运行程序,查看结果
总结:并列式多分支结构,优点是易于理解,但缺点是效率低(思考一下,为什么效率低)。
其实,这个程序可以做点优化,因为成绩大于100分或小于0分都是超出范围,所以可以将这两个并列的分之合而为
方法二 、采用嵌套式多分支结构评定成绩等级
思路:从高分到低分来划分各个数段
在 net.guoxin.p02.t02
运行查看结果
总结:嵌套式多分支结构,优点是层次分明、效率高,但缺点是嵌套层次太多时显得很繁。
方法三、采用延拓式多分支结构评定成绩等级
总结:延拓式多分支结构,优点是只有一层,并且效率高。希望同学们务必掌握这一种多分支处理方式。
方法四、采用开关式多分支结构评定成绩等级
关键点在于将成绩变量取整之后再整除10,以便将各个分数段转换成离散的整数值,这样才能用开关式多分支结构来进行处理。
总结:开关式多分支结构,优点是书写简洁,并且效率高,但缺点是只能针对离散型的情况进行处理。
开关式多分支结构里的测试表达式,类型可以是整数、字符、甚至可以是字符串。
————————————————
版权声明:本文为CSDN博主「howard2005」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/howard2005/article/details/123701782
(二)讲解知识点
多分支结构可有四种处理方式:并列式、嵌套式、延拓式、开关式
1、并列式多分支结构
if (条件1) {
语句组1
}
if (条件2) {
语句组2
}
……
if (条件n) {
语句组n
}
2、嵌套式多分支结构
if (条件) {
if (条件1) {
语句组1
} else {
……
}
} else {
if (条件2) {
语句组2
} else {
……
}
}
3、延拓式多分支结构
if (条件1) {
语句组1
} else if (条件2) {
语句组2
}
……
} else if (条件n) {
语句组n
} else {
语句组n+1
}
4、开关式多分支结构
switch (测试表达式) {
case 值1:
语句组1
break;
case 值2:
语句组2
break;
……
case 值n:
语句组n
break;
default:
语句组n+1
}
————————————————
版权声明:本文为CSDN博主「howard2005」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/howard2005/article/details/123701782