2022年JAVA项目课程学习笔记

本文详细记录了2022年JAVA项目课程的学习过程,包括安装配置JDK、搭建IntelliJ IDEA环境,以及一系列的基础编程任务,如计算圆面积、闰年判断等。在面向对象编程部分,介绍了并列式、嵌套式、延拓式和开关式多分支结构,并通过实例展示了如何创建和使用类、接口。此外,还涵盖了面向对象编程的实践,如创建笔记本电脑类、设计面向对象的三角形面积计算。
摘要由CSDN通过智能技术生成

项目一

任务一,安装配置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] 90score100,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] 80score<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] 70score<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] 60score<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] 0score<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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值