项目一
任务一,安装配置JDK并开发第一个JAVA程序
1.1.1 安装JDK
- 安装JDK
1.1.2 配置JDK
1.1.3 开发JAVA程序
1,编写源程序
2,编译成字节码
3,解释执行类
任务2,搭建JAVA集成开发环境IntelliJ IDEA
1.2.1 安装InteliJ IDEA
1.2.2 配置InteliJ IDEA
1.23 创建项目,包,类
- 项目:JAVA课程案例
- 包:
net.ouyangyi.p01.t02
- 类:HelloWorld
- 不接收命令行参数
- 运行程序,查看结果
- 接收多个命令行参数(字符串数组
args
,用for
循环遍历)
- 修改程序,在运行,查看结果
项目二,打好JAVA编程基础
眼观百遍代码,不如手敲一遍~
修炼编程功力,重在日积月累~
任务1,计算圆的面积
- 输入圆的半径,计算圆面积,输出结果
(一)编程实现
版本1,程序员指定半径,计算圆的面积
- 缺点是跟用户之间没有互动
版本2,用户来输入半径,程序来计算圆的面积
-
用户可以输入半径,也可以输入实数
-
输入整数,用
sc.netInt()
版本3,设定结果的精度,满足用户的要求
-
要求结果保留两位小数
-
回想一下你们在Python里面怎么实现这个用户要求,利用
round()
函数可以搞定
-
采用遮尾法,数据没变,只是显示两位小数
版本4
- 采用剪尾法来处理
任务2,闰年判断
- 什么是闰年?有两种情况:能被4整除但是不能被100整除;能被400整除
- 解决闰年判断问题,涉及三种运算:算术运算、关系- 算、逻辑运算
- 第一种闰年情况:
year % 4 == 0 && year % 100 != 0
- 第二种闰年情况:
year % 400 == 0
(一)编程实现
- 在net.ouyangyi.po2.t02包里面创建Task01类
- 运行程序,查看结果
- 闰年条件涉及到两种逻辑运算符,逻辑与
&&
和逻辑或||
,但是没有用逻辑非!
,请你修改闰年条件,能够将三种逻辑运算符都派上用场。(在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,+∞) -超出范围
-
第2个分数段: 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] -优秀
-
第3个分数段: 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] -良好
-
第4个分数段: 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] -中等
-
第5个分数段: 60 ≤ s c o r e < 70 , s c o r e ∈ [ 60 , 70 ] 60 \le score \lt 70,score \in [60,70] 60≤score<70,score∈[60,70] -及格
-
第6个分数段: 0 ≤ s c o r e < 60 , s c o r e ∈ [ 0 , 60 ] 0 \le score \lt 60,score \in [0,60] 0≤score<60,score∈[0,60] -不及格
-
第7个分数段: s c o r e < 0 , s c o r e ∈ ( − ∞ , 0 ) score \lt 0,score \in (-\infty,0) score<0,score∈(−∞,0) -超出范围
-
在
net.ouyangyi.p02.t03
创建Task03_1
-
怎么解决这个问题呢?很简单,在处理部分之前将level初始化为空字符串
-
运行程序,查看结果
- 总结:并列式多分支结构,优点是易于理解,但缺点是效率低(思考一下,为什么效率低)
- 其实,这个程序可以做点优化,因为成绩大于100分或小于0 分都是超出范围,所以可以将这两个并列的分支合二为一。
方法二、采用嵌套式多分支结构评定成绩等级
思路1:从高分到低分来划分各个分数段
- 在
net,ouyangyi.p02.t03
包里面创建Task03_2
类
- 运行程序,查看结果(测试七种情况)
方法三、采用延拓式多分支结构评定成绩等级
- 在
·net.ouyangyi.po2.t03
·包里创建Task02_3
类
- 运行程序,查看结果(测试七种情况)
- 总分:延拓式多分支结构,优点是只有一层,并且效率高。希望同学们务必掌握这一种多分支处理方式。
方法四、采用开关式多分支结构评定成绩等级
- 关键点在于将成绩变量取整之后再整除10,以便将各个分数段转换成离散的整数值,这样才能用开关式多分支结构来进行处理。
- 在
net.ouyangyi.p02.t03
包里面创建Task03_4
类
- 运行程序,查看结果(测试七种情况)
- 总结:开关式多分支结构,优点是书面简洁,并且效率高,但缺点是只能针对离散型的情况进行处理。
- 开关式多分支结构里的测试表达式,类型可以是整数、字符、甚至可以是字符串。
(二)讲解知识点
- 多分支结构可有四种处理方式:并列式、嵌套式、延拓式、开关式
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