目录

  • 1 课程导学
    • 1.1 课程介绍
    • 1.2 课程目标
    • 1.3 学习要求
    • 1.4 项目评价要求
    • 1.5 授课计划
    • 1.6 课程答疑
  • 2 Java概述
    • 2.1 本章导学
    • 2.2 面向对象编程思想
    • 2.3 Java简介
    • 2.4 JDK的安装及配置
    • 2.5 Eclipse的安装及使用
    • 2.6 章节作业
    • 2.7 作业讲解
    • 2.8 子项目1:面向对象分析
    • 2.9 课程思政案例
    • 2.10 常见问题Q&A
    • 2.11 课外拓展
  • 3 Java语言基础
    • 3.1 本章导学
    • 3.2 Java语法成分
    • 3.3 数据类型
    • 3.4 运算符
    • 3.5 标准I/O
    • 3.6 字符串类
      • 3.6.1 String类
      • 3.6.2 StringBuffer类
    • 3.7 基本数据类型包装类
    • 3.8 数字处理类
    • 3.9 章节作业
    • 3.10 作业讲解
    • 3.11 实验一:Java语法基础
    • 3.12 子项目2:设计数据结构
    • 3.13 课程思政案例
    • 3.14 常见问题Q&A
    • 3.15 课外拓展
  • 4 控制结构
    • 4.1 本章导学
    • 4.2 选择结构
      • 4.2.1 if语句
      • 4.2.2 switch-case语句
    • 4.3 循环结构
      • 4.3.1 for语句
      • 4.3.2 while语句
      • 4.3.3 do-while语句
    • 4.4 循环嵌套及跳转语句
      • 4.4.1 循环嵌套
      • 4.4.2 break语句
      • 4.4.3 continue语句
      • 4.4.4 return语句
    • 4.5 应用案例
    • 4.6 章节作业
    • 4.7 实验二:控制结构
    • 4.8 子项目3:系统界面的设计与实现
    • 4.9 课程思政案例
    • 4.10 课外拓展
  • 5 数组
    • 5.1 本章导学
    • 5.2 一维数组
      • 5.2.1 一维数组的声明和创建
      • 5.2.2 一维数组的使用和遍历
    • 5.3 二维数组
      • 5.3.1 二维数组的声明和创建
      • 5.3.2 二维数组的使用和遍历
    • 5.4 Arrays类
    • 5.5 ArrayList类
    • 5.6 应用案例
    • 5.7 章节作业
    • 5.8 实验三:数组
    • 5.9 子项目4:数据存储的设计
    • 5.10 课程思政案例
    • 5.11 课外拓展
  • 6 类和对象
    • 6.1 本章导学
    • 6.2 面向对象分析
    • 6.3 定义类
    • 6.4 定义成员变量
    • 6.5 定义成员方法
    • 6.6 成员方法的调用
    • 6.7 方法重载
    • 6.8 构造方法
    • 6.9 对象的创建和使用
    • 6.10 章节作业
    • 6.11 实验四:类和对象
    • 6.12 子项目5:类的设计与实现
    • 6.13 课程思政案例
    • 6.14 课外拓展
  • 7 封装
    • 7.1 本章导学
    • 7.2 Java中的包
    • 7.3 访问控制
    • 7.4 应用案例
    • 7.5 子项目6:类的组织管理
    • 7.6 课程思政案例
    • 7.7 课外拓展
  • 8 继承
    • 8.1 本章导学
    • 8.2 类的继承
    • 8.3 创建子类对象
    • 8.4 访问父类成员
    • 8.5 方法重写
    • 8.6 课程思政案例
    • 8.7 章节作业
    • 8.8 课外拓展
  • 9 接口和抽象类
    • 9.1 本章导学
    • 9.2 抽象类
    • 9.3 接口
    • 9.4 课程思政案例
    • 9.5 章节作业
    • 9.6 课外拓展
  • 10 多态
    • 10.1 本章导学
    • 10.2 多态的定义
    • 10.3 对象的多态性
    • 10.4 方法的多态性
    • 10.5 多态的应用
    • 10.6 课程思政案例
    • 10.7 章节作业
    • 10.8 课外拓展
  • 11 异常处理
    • 11.1 本章导学
    • 11.2 异常及异常类
    • 11.3 Exception类及其子类
    • 11.4 自定义异常类
    • 11.5 异常处理
    • 11.6 课程思政案例
    • 11.7 章节作业
    • 11.8 课外拓展
  • 12 常用Java API
    • 12.1 本章导学
    • 12.2 System类
    • 12.3 日期时间类
    • 12.4 课外拓展
  • 13 复习
    • 13.1 基础知识复习题
    • 13.2 编程练习题
  • 14 学生翻转课堂视频
    • 14.1 陈晓晴:位运算符
    • 14.2 陈家宁:关系与移位运算符
    • 14.3 廖欢:字符串类
    • 14.4 李伟健:Math类和Random类
    • 14.5 靳伟杰:if-else条件选择
    • 14.6 谢锦烨:switch语句
    • 14.7 学生:字符串处理
    • 14.8 徐诗惠:一维数组
    • 14.9 学生:字符串和数组
    • 14.10 叶梓萌:继承
    • 14.11 李锦伦:多态
    • 14.12 刘晓辉:多态
    • 14.13 学生:反射
    • 14.14 许浩银:GUI编程
    • 14.15 朱桂霞:事件处理机制
    • 14.16 朱伟栋:综合项目
  • 15 学生作品展示
    • 15.1 富文本多功能编辑器
    • 15.2 毕业设计管理系统
    • 15.3 学生信息管理系统
    • 15.4 五子棋
    • 15.5 医院管理系统
    • 15.6 图书管理系统
    • 15.7 多功能计算器
    • 15.8 集合运算器
    • 15.9 文本处理程序
    • 15.10 酒店管理系统
    • 15.11 家谱管理程序
    • 15.12 购物记账系统
    • 15.13 拼图小游戏
    • 15.14 运动会管理系统
    • 15.15 学生选课管理系统
课程思政案例

工匠精神


【引 入】


1996年6月4日,Ariane5火箭首飞后37秒发生大爆炸,重2600磅的四颗科学卫星同火箭一道化为灰尘,10年的研制时间和70亿美元毁于一旦。

其中一个原因是开发人员在设计Ariane4火箭的软件时,分析了火箭的水平速率,确定其值不会超出一个16位的数。而在开发Ariane5火箭的控制软件时,开发人员Ariane4的这部分程序简单地重用到Ariane5中,并没有仔细检查它所基于的假设。

Ariane5火箭比Ariane4火箭的速度高出近5倍,很显然超出一个16位数的范围。因此在火箭实际发射过程中,程序将一个64位浮点数转换成16位有符号整数时产生了溢出,将感测角度的垂直读值错误的代入到水平值做运算,导致火箭在高速下进行90度水平滚转而崩解,触发自毁装置的启动。

这些错误产生的根源是没有遵循严格的系统工程方法。因此,在开发软件的过程中,认真、踏实、严谨的工匠精神是非常重要的,而且如果在软件中如果有异常处理的部分,就能更好地处理溢出的问题。




【思 考】


    请同学们思考,程序中的异常处理有什么作用?