Java项目课程03:涉及知识点

Posted howard2005

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java项目课程03:涉及知识点相关的知识,希望对你有一定的参考价值。

文章目录

开发【GUI学生信息管理系统】,需要涉及Java基本语法、Java流程控制、Java面向对象、Java集合框架、Java图形用户界面编程、mysql数据库操作、MVC模式分层架构、Junit4单元测试与UML软件建模等知识。

一、Java基本语法

(一)数据类型

  • 基本数据类型int - 4个字节 - [ − 2 32 , 2 32 − 1 ] [-2^32, 2^32-1] [232,2321],对应有个封装类Integer
  • 显示最大的整数和最小的的整数
类型字节数
byte1
short2
int4
long8
float4
double8

(二)变量与常量

  1. Java学习笔记2.2.1 常量与变量 - 变量
  2. Java笔记学习2.2.2 常量与变量 - 常量

(三)运算符与表达式

  1. Java学习笔记2.3.1 运算符与表达式 - 算术运算符
  2. Java学习笔记2.3.2 运算符与表达式 - 赋值运算符
  3. Java学习笔记2.3.3 运算符与表达式 - 关系运算符
  4. Java学习笔记2.3.4 运算符与表达式 - 逻辑运算符
  5. Java学习笔记2.3.5 运算符与表达式 - 位运算符
  6. Java学习笔记2.3.6 运算符与表达式 - 条件运算符
  7. Java学习笔记2.3.7 运算符与表达式 - 运算优先级与表达式

二、Java流程控制

(一)选择结构

  1. Java学习笔记2.4.1 选择结构 - 单分支结构
  2. Java学习笔记2.4.2 选择结构 - 双分支结构
  3. Java学习笔记2.4.3 选择结构 - 多分支结构

(二)循环结构

  1. Java学习笔记2.5.1 循环结构 - 条件循环
  2. Java学习笔记2.5.2 循环结构 - 计数循环
  3. Java学习笔记2.5.3 循环结构 - 循环嵌套

三、Java面向对象编程

(一)封装

  • Java是面向对象的编程语言,因为面向对象中所有的实体都是以对象为基本单位的,以宏观世界的实体来映射到计算机世界中,每个对象有它自己的属性和自己的行为,我们用类来将这些属性和行为封装到一起,当它实例化出来一个对象的时候,我们可以说这个对象具有这些属性性和行为。对象的数据封装特性彻底消除了传统结构方法中数据与操作分离所带来的种种问题,提高了程序的可复用性和可维护性,降低了程序员保持数据与操作内容的负担。对象的数据封装特性还可以把对象的私有数据和公共数据分离开,保护了私有数据,减少了可能的模块间干扰,达到降低程序复杂性、提高可控性的目的。

(二)继承

  • 有了继承机制,就可区分父类和子类,被继承的那个类叫做父类(超类或基类),继承的那个类叫做子类(派生类)。子类可以继承父类所有的非私有属性与方法,还可以继续添加新的属性和方法,正如俗话所说的:青出于蓝而胜于蓝。

(三)多态

  • 在Java中,多态是指不同类的对象在调用同一个方法时所呈现出的多种不同行为。通常来说,在一个类中定义的属性和方法被其他类继承或重写后,当把子类对象直接赋值给父类引用变量时,相同引用类型的变量调用同一个方法所呈现出的多种不同形态。通过多态,消除了类之间的耦合关系,大大提高了程序的可扩展性和可维护性。Java的多态性是由类的继承、方法重写以及父类引用指向子类对象体现的。由于一个父类可以有多个子类,多个子类都可以重写父类方法,并且多个不同的子类对象也可以指向同一个父类。这样,程序只有在运行时程序才能知道具体代表的是哪个子类对象,这就体现了多态性。

(四)接口

  • 接口是一种特殊的抽象类,它不能包含普通方法,其内部的所有方法都是抽象方法,它将抽象进行得更为彻底。接口其实是定义了一种标准或规范,既然如此,接口里不能包含一般的属性,只能包含常量。从JDK8开始,接口中除了抽象方法外,还可以有默认方法和静态方法(也叫类方法),默认方法使用default修饰,静态方法使用static修饰,并且这两种方法都允许有方法体。

(五)内部类

  • 在Java中,允许在一个类的内部定义类,这样的类称作内部类(inner class),这个内部类所在的类称作外部类(outer class)。

(六)异常处理

  • 在程序运行的过程中,也会发生这种非正常状况,例如程序运行时磁盘空间不足、网络连接中断、被加载的类不存在等。针对程序中的非正常情况,Java语言中引入了异常,以异常类的形式对这些非正常情况进行封装,并通过异常处理机制对程序运行时发生的各种问题进行处理。
  • Java异常体系结构

四、Java集合框架

(一)数组

  1. Java学习笔记2.6.1 数组 - 一维数组
  2. Java学习笔记2.6.2 数组 - 二维数组

(二)列表

  • List接口继承自Collection接口,是单列集合的一个重要分支,习惯性地会将实现了List接口的对象称为List集合。
  • ArrayList是List接口的一个实现类,它是程序中最常见的一种集合,其内部的数据存储结构是数组形式。
  • LinkedList是List接口的另一个实现类,其内部包含有两个Node类型的first和last属性的双向循环链表结构。

(三)向量

  • Vector 类实现了一个动态数组。和 ArrayList 很相似,但是两者是不同。Vector 是同步访问的,Vector 包含了许多传统的方法,这些方法不属于集合框架。

(四)映射

  • Map接口是一种双列集合,它的每个元素都包含一个键对象Key和值对象Value,键和值对象之间存在一种对应关系,称为映射。Map中的映射关系是一对一的,一个键对象Key对应唯一一个值对象Value,其中键对象Key和值对象Value可以是任意数据类型,并且键对象Key不允许重复,这样在访问Map集合中的元素时,只要指定了Key,就能找到对应的Value。
  • HashMap集合是Map接口的一个实现类,它用于存储键值映射关系,该集合的键和值允许为空,但键不能重复,且集合中的元素是无序的。-
  • TreeMap集合是Map接口的另一个实现类,在TreeMap内部是通过二叉树的原理来保证键的唯一性,这与TreeSet集合存储的原理一样,因此TreeMap中所有的键是按照某种顺序排列的。
  • HashTable集合是Map接口的一个实现类,它和HashMap十分相似,其中一个主要区别在于Hashtable是线程安全的。Hashtable类有一个子类Properties。Properties主要用来存储字符串类型的键和值,在实际开发中,经常使用Properties集合类来存取应用的配置项。

(五)集合

五、Java图形用界面编程

(一)Swing组件

  • Swing组件的所有类都继承自Container类,然后根据GUI开发的功能扩展了2个主要分支:容器分支(包括Window窗口和Panel面板)和组件分支。容器分支就是为了实现图形用户界面窗口容器而设计的。组件分支则是为了实现向容器中填充数据、元素以及人机交互组件等功能。Swing组件类中,常用的顶级容器类包括有JApplet、JFrame和JDialog。常用组件AbstractButton类及其子类是用来定义按钮常见行为的工具类。JTextComponent类及其子类就是用来定义文本内容编辑区域的工具类。

(二)布局管理器

  • Swing组件不能单独存在,必须放置于容器当中,而组件在容器中的位置和尺寸是由布局管理器来决定的。

(三)事件处理机制

  • Swing组件中的事件处理专门用于响应用户的操作,例如,响应用户的单击鼠标、按下键盘等操作。Swing的事件处理机制其实就是一个委托事件处理,是由事件源(组件)、事件(Event)、监听器(Listener)和 事件处理器(引发事件后的处理方式)组成。

六、MySQL数据库操作

  1. MySQL学习笔记:MySQL管理
  2. MySQL学习笔记:SQL基本语法

七、Java数据库编程

(一)JDBC概述

  • JDBC(Java DataBase Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。

(二)应用程序采用JDBC访问数据库

  • 说明:JDBC在应用程序与数据库之间起到了一个桥梁作用,当应用程序使用JDBC访问特定的数据库时,只需要通过不同的数据库驱动与其对应的数据库进行连接,连接后即可对该数据库进行相应的操作。

(三)JDBC常用API

  1. Driver接口
  2. DriverManager类
  3. Connection接口
  4. Statement接口
  5. PreparedStatement接口
  6. ResultSet接口

八、MVC模式分层架构

  • M:模型层、V:视图层、C:控制层
  • MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。
  • 模型-视图-控制器(MVC)是Xerox PARC在二十世纪八十年代为编程语言Smalltalk-80发明的一种软件设计模式,已被广泛使用。后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用ColdFusion和php的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。

九、单元测试

(一)单元测试概述

  • 单元测试(Unit Testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

(二)单元测试演示

1、JUnit4概述

  • JUnit4是一个易学易用的Java单元测试框架,使用非常广泛。现阶段的最新版本号是4.12,JUnit5目前正在测试中,所以这里还是以JUnit4为准。现在主流的IDE比如IDEA或者Eclipse都提供了对JUnit4的支持,可以非常方便的使用JUnit4。当你在代码中添加了@Test注解,然后使用IDE的自动补全功能时,一般情况下IDE会弹出对话框询问你是否将JUnit4库添加到项目的类路径下。
  • 采用JUnit4单元测试框架:@Test@Before@After

2、案例演示

  • net.hw.op包里创建ArithmeticOperation
package c02.s01.p02;

/**
 * 功能:提供四则运算方法<br>
 * 作者:华卫<br>
 * 日期:2022年03月10日<br>
 */
public class ArithmeticOperation 
    /**
     * 两个整数求和<br>
     * @param a 被加数<br>
     * @param b 加数<br>
     * @return 两个整数的和<br>
     */
    public static int sum(int a, int b) 
        return a + b;
    

    /**
     * 两个整数求差<br>
     * @param a 被减数<br>
     * @param b 减数<br>
     * @return 两个整数的差<br>
     */
    public static int difference(int a, int b) 
        return a - b;
    

    /**
     * 两个整数求积<br>
     * @param a 被乘数<br>
     * @param b 乘数<br>
     * @return 两个整数的积<br>
     */
    public static int product(int a, int b) 
        return a * b;
    

    /**
     * 两个整数求商<br>
     * @param a 被除数<br>
     * @param b 除数<br>
     * @return 两个整数的商<br>
     */
    public static int quotient(int a, int b) 
        return a / b;
    

  • net.hw.test包里创建TestArithmeticOperation
  • 测试sum()方法 - 创建testSum()测试方法
  • 需要导入JUnit框架
  • 编写testSum()代码
  • 运行测试方法 - testSum()
  • 课堂练习:完成其它三个方法的测试
  • 可以单独测试某个方法,也可以测试全部方法
  • 添加初始化和扫尾的测试方法
  • 运行整个测试类(四个测试方法)

十、UML软件建模

(一)UML概述

  • UML作为一种统一的软件建模语言具有广泛的建模能力。UML是在消化、吸收、提炼至今存在的所有软件建模语言的基础上提出的,集百家之所长,它是软件建模语言的集大成者。UML还突破了软件的限制,广泛吸收了其他领域的建模方法,并根据建模的一般原理,结合了软件的特点,因此具有坚实的理论基础和广泛性。UML不仅可以用于软件建模,还可以用于其他领域的建模工作。
  • UML立足于对事物的实体、性质、关系、结构、状态和动态变化过程的全程描述和反映。UML可以从不同角度描述人们所观察到的软件视图,也可以描述在不同开发阶段中的软件的形态。UML可以建立需求模型、逻辑模型、设计模型和实现模型等,但UML在建立领域模型方面存在不足,需要进行补充。
  • 作为一种建模语言,UML有严格的语法和语义规范。UML建立在元模型理论基础上,包括4层元模型结构,分别是基元模型、元模型、模型和用户对象。4层结构层层抽象,下一层是上一层的实例。UML中的所有概念和要素均有严格的语义规范。
  • UML采用一组图形符号来描述软件模型,这些图形符号具有简单、直观和规范的特点,开发人员学习和掌握起来比较简单。所描述的软件模型,可以直观地理解和阅读,由于具有规范性,所以能够保证模型的准确、一致。

(二)推荐书籍

1、UML软件建模任务驱动教程

  • (第2版)陈承欢 编著 人民邮电出版社
  • 本书通过先进的建模工具+完整的软件模型+系统的UML知识,让学习者学会应用UML知识、学会构思软件模型、学会绘制UML图。通过体验两个系统(图书管理系统和网上书店系统)和多个软件模块模型的构建过程,在真实的软件模型构建过程中系统掌握UML理论知识、训练技能、积累经验、固化能力。全书贯穿的主线是UML的基础知识-软件模块建模-软件系统建模-Web系统建模-软件模型的实现,每个教学单元面向教学全过程设置了9个合理的教学环节:教学导航-前导训练-引例探析-知识疏理-方法指导-引导训练-同步训练-单元小结-单元习题。本书适用于UML和Rose的初、中级用户,可以作为高等院校计算机和软件相关专业的教学用书或参考书,也适用于软件开发各类人员学习和参考。

2、UML精粹:标准对象建模语言简明指南

  • (第3版)马丁·福勒著 电子工业出版社
  • 本书的价值在于书名所说,“精粹”。本书不只介绍UML的图形和规范,更深入浅出地讲解背后隐藏的软件开发思想。更难得的是,作者把这些知识浓缩到如此简练的篇幅,通俗易懂地说出来。本书出版后就成为Amazon上最畅销的UML书籍,打败了UML“三友”所写的更为“官方”的《UML参考手册》和《UML用户指南》。本书也是Martin Fowler所写的书里面被翻译成最多种文字的。……如果用一句话来归纳,我想说:“Martin Fowler是一个独特的人,本书也是一本独特的书。”

以上是关于Java项目课程03:涉及知识点的主要内容,如果未能解决你的问题,请参考以下文章

Java项目课程01:课程概述

Java电商秒杀系统深度优化 从容应对亿级流量挑战

java课程设计

0基础java培训的多长时间?学费得多少?

Java课程设计—学生成绩分析系统

java系统架构师培训有吗?课程是啥?