Skip to content

Latest commit

 

History

History
170 lines (159 loc) · 5.49 KB

index.md

File metadata and controls

170 lines (159 loc) · 5.49 KB
mermaid
true

JAVA 讲义

该仓库储存北理移动政务实验室JAVA培训的讲稿和代码,以及数据库的相关内容。该讲义假设读者完成了C语言的学习。感谢 @lijunlin2022 学长。

如有不足之处,请各位读者指出。可通过Issue或邮箱发送留言。

仓库的地址在https://github.com/jingkaimori/javaTutorial

目录

  1. 开发环境
    1. 搭建开发环境
    2. 编译并运行Java代码
  2. 基础语法
    1. 表达式与函数
      1. 嵌套的函数调用(暂缺)
      2. 函数定义
      3. 常用表达式
      4. 内置数值函数
    2. 数据类型
      1. 字符串
    3. 控制流程(不完善)
      1. 条件语句
      2. 中断控制语句——break case;
    4. 命令行输入输出
      1. Scanner
  3. 复杂的数据结构、类型和控制流
    1. 类与对象
      1. 构造器(构造函数)
      2. this关键字
      3. 包 package
      4. 类的静态成员
      5. 访问控制
        1. public
        2. private
        3. JavaBean类
    2. 类型规则与接口
    3. 异常
      1. throw与AutoClosable
      2. throw与Throwable
    4. 泛型
    5. 注解
    6. 函子(函数表达式)(不完善)
      1. 函数作为输入/输出
      2. 匿名类和函子的联系
    7. 集合与迭代器(不完善)
      1. 用泛型定义列表、集合和字典
      2. for-each 遍历列表
  4. 面向对象
    1. 继承
    2. 抽象类
    3. 接口
    4. 多态
  5. Java的多线程(暂缺)
    1. 创建线程
    2. 线程的执行权
      1. wait 和 notify 方法
    3. 数据竞争
    4. 未来量
  6. 其他数据类型
    1. 大数值
    2. 数组和数组字面量
      1. 一维数组
      2. 嵌套数组或多维数组
  7. Java的内置操作(暂缺)
    1. 文件读写
    2. 反射编程
    3. 垃圾回收
  8. Java还缺什么
    1. 全局变量(暂缺)
    2. 对象的序列化(暂缺)
    3. 将任意函数作为变量传递(一等函数)
  9. 其他技术
    1. SQL语言
    2. JDBC 操作数据库
    3. AOP 面向切面编程
    4. Jackson 或 gson 以JSON格式转换对象
    5. Lombok 封装对象
    6. lwjgl 3D视频库
  10. 示例程序(暂缺)
    1. 三角形面积计算(不真实)
    2. 光线传播模拟
    3. 类似excel的函数运算
    4. 电路模拟器
    5. 税收管理系统

学习顺序

flowchart LR
classDef default fill:#fef;
classDef important fill:#cff;

env[搭建开发环境]
1stprog[第一个Java程序]
function[用函数来组织代码]
expression[表达式和算术运算]
datatype[数据类型和类型规则]
string[字符串]
arbitarynum[任意精度数值]
array[方括号数组]
io[命令行输入输出]
ctrlflow[控制流]
classObj[对象定义]
staticMember[类的静态成员]
import[导入语句]
exception[异常处理]
generic[泛型]
annotation[注解]
oo[面向对象基本概念]
inhertance[继承]
polymorphism[多态]
interface[接口]
abstractClass[抽象类]
functor[函子]
customException[定义异常类型]
autoClose[处理资源异常]
customAutoClose[自定义可关闭的资源]
iterate[迭代与集合]
reflect[反射]

env --> 1stprog
1stprog --> function
function --> expression
function --> ctrlflow
1stprog --> expression
expression --> datatype
expression --> string
expression --> arbitarynum
expression --> array
datatype --> exception
ctrlflow --> exception
datatype --> classObj
function --> classObj
expression --> classObj
function --> staticMember
classObj --> staticMember
string --> io
function --> import
annotation --> reflect
classObj --> reflect
datatype --> generic
generic --> iterate
classObj --> iterate
function --> annotation
classObj --> annotation
classObj --> oo
function --> oo
oo --> inhertance
classObj --> abstractClass
abstractClass -.-> interface
classObj --> interface
function --> polymorphism
datatype --> polymorphism
function --> functor
interface --> functor
exception --> customException
exception --> autoClose
autoClose --> customAutoClose
class 1stprog,function,expression,datatype,ctrlflow,classObj,exception,generic,interface,functor,iterate important;

其他未尽事宜

淘汰Person``student类型关系,改用有示例功能的代码。