【从零开始重学Java】第0天

发布时间 2024-01-02 16:37:33作者: 迷路的哨兵甲

前情提示

Java岗位工作多年,却发现自己好像越来越不懂Java,变成了CRUD程序员或者SQL程序员
仔细想想可能是知识不成体系,无法贯通,于是决定重新拿起教科书,从零学起,看看会不会有什么新收获
本文章是我自己复习Java教科书做的笔记,也适用于同样已经有工作经验的Java程序员们阅读,查漏补缺,重新全面的认识Java语言

初入面向对象

使用的是清华大学出版社的Java程序设计(第四版)

清华大学出版社的Java程序设计

其他教科书估计也大同小异啦
那时候IDEA还不是那么出名,大家都还在用Eclipse

看看教科书的目录吧

之后就按着目录学,一章节一天

  1. 概述
    1. 什么是Java语言
      1. Java的三层架构
      2. Java语言的目标
      3. Java虚拟机
      4. 垃圾收集
      5. 代码安全
    2. 一个基本的Java应用程序
      1. 开发环境的安装
      2. Java应用程序
    3. 程序的编译和运行
      1. 编译
      2. 运行
    4. 常见错误
      1. 编译时错误
      2. 运行时错误
    5. 使用Java核心API文档
    6. 第一章课后习题
  2. 标识符和数据类型
    1. Java的基本语法单位
      1. 空白、注释及语句
      2. 关键字
      3. 标识符
    2. Java编码体例
    3. Java的基本数据类型
      1. 基本数据类型
      2. 类型转换
      3. 变量、说明和赋值
    4. 复合数据类型
      1. 概述
      2. 复合数据类型
    5. 类和对象的初步介绍
      1. Java中的面向对象技术
      2. Java中的类定义
      3. Java中与OOP有关的关键字
      4. 类定义示例
      5. 创建一个对象
      6. 引用变量的赋值
      7. 默认初始化和null引用值
      8. 术语概述
    6. 第二章习题
  3. 表达式和流程控制语句
    1. 表达式
      1. 操作数
      2. 运算符
      3. 表达式的提升和转换
      4. 数学函数
    2. 流控制
      1. 表达式语句
      2. 分支语句
      3. 循环语句
      4. break与continue语句
      5. 注释语句
    3. 简单的输入输出
    4. 第三章习题
  4. 数组、向量和字符串
    1. 数组
      1. 数组说明
      2. 创建数组
      3. 数组边界
      4. 数组元素的引用
      5. 多维数组
      6. 数组复制
    2. Vector类
      1. 概述
      2. Vector类的构造方法
      3. Vector类对象的操作
      4. Vector类中的其他方法
      5. Vector类的使用举例
    3. 字符串类型
      1. 字符串简述
      2. 字符串说明及初始化
      3. 字符串处理
      4. 几个特殊处理
    4. 第四章习题
  5. 进一步讨论对象和类
    1. 抽象数据类型
      1. 概述
      2. 定义方法
      3. 按值传送
      4. 重载方法名
    2. 对象的构造和初始化
      1. 显式成员初始化
      2. 构造方法
      3. 默认的构造方法
      4. 构造方法重载
      5. finalize()方法
      6. this引用
    3. 子类
      1. is-a关系
      2. extends关键字
      3. 单重继承
      4. 转换对象
      5. 方法自变量和异类集合
    4. 方法重写
      1. 方法重写示例
      2. 应用重写的规则
      3. 父类构造方法调用
    5. 多态
    6. Java包
      1. Java包的概念
      2. import语句
      3. 目录层次关系及CLASSPATH变量
      4. 访问权限与数据隐藏
      5. 封装
    7. 类成员
      1. 类变量
      2. 类方法
    8. 关键字final
      1. 终极类
      2. 终极方法
      3. 终极变量
    9. 抽象类
    10. 接口
      1. 接口的定义
      2. 接口的实现
    11. 内部类
      1. 内部类的概念
      2. 匿名类
      3. 内部类的工作方式
    12. 包装类
    13. 第五章习题
  6. Java语言中的异常
    1. 异常
      1. 引出异常
      2. 异常的概念
      3. 异常分类
    2. 异常处理
      1. try-catch块
      2. 再讨论前面的示例
      3. 公共异常
    3. 抛出异常
    4. 创建自己的异常
    5. 第六章习题
  7. Java语言的高级特性
    1. 泛型
      1. 泛型数据类型
      2. 接口中的泛型
      3. 泛型类
      4. 泛型方法
    2. 迭代器
      1. 迭代器的基本概念
      2. 接口Iterator
      3. 接口Iterable
      4. 使用迭代器示例
      5. Iterable和for-each循环
    3. 克隆
    4. 第七章习题
  8. Java语言的图形用户界面设计
    1. AWT与Swing
    2. 容器
      1. 顶层容器
      2. 使用JFrame创建一个应用程序
      3. 内容窗格
      4. 面板
    3. 布局
      1. 一个简单的例子
      2. FlowLayout布局管理器
      3. BorderLayout布局管理器
      4. GridLayout布局管理器
      5. CardLayout布局管理器
      6. BoxLayout布局管理器
      7. 其他布局管理器
    4. 事件处理
      1. 一个简单的例子
      2. FlowLayout布局管理器
      3. BorderLayout布局管理器
      4. GridLayout布局管理器
      5. CardLayout布局管理器
      6. BoxLayout布局管理器
      7. 其他布局管理器
    5. 第八章习题
  9. Swing组件
    1. 按钮
      1. 普通按钮
      2. 切换按钮、复选按钮及单选按钮
    2. 标签
    3. 组合款
    4. 列表
    5. 文本组件
      1. 文本域
      2. 文本区
    6. 菜单组件
      1. 菜单栏
      2. 菜单
      3. 菜单项
      4. 复选菜单和单选菜单项
      5. 弹出式菜单
    7. 对话框、标准对话框与文件对话框
      1. 对话框
      2. 标准对话框
      3. 文件对话框
    8. 控制组件外观
      1. 颜色
      2. 字体
      3. 绘图
    9. 第九章习题
  10. Java Applet
    1. 编写Applet
    2. Applet的方法和Applet的生命周期
    3. Applet的运行
      1. 用于显示Applet的方法
      2. appletviewer
      3. HTML与<applet>标记
      4. Applet参数的读取
      5. Applet与URL
    4. 在Applet中的多媒体处理
      1. 在Applet中显示图像
      2. 在Applet中播放声音
    5. Applet的事件处理
    6. Applet与普通应用程序的结合
    7. 第十章习题
  11. Java数据流
    1. 数据流的基本概念
      1. 输入数据流
      2. 输出数据流
    2. 基本字节数据流类
      1. 文件数据流
      2. 过滤流
      3. 管道数据流
      4. 对象流
      5. 可持久化
    3. 基本字符流
      1. 读者和写者
      2. 缓冲区读者和缓冲区写者
    4. 文件的处理
      1. File类
      2. 随机访问文件
    5. 第十一章习题
  12. 线程
    1. 线程和多线程
      1. 线程的概念
      2. 线程的结构
    2. 线程的状态
    3. 创建线程
      1. 创建线程的方法一——继承Thread类
      2. 创建线程的方法二——实现Runnable接口
      3. 关于两种创建线程的方法讨论
    4. 线程的启动
    5. 线程的调度
    6. 线程的基本控制
      1. 结束线程
      2. 检查线程
      3. 挂起线程
    7. 同步问题
      1. 线程间的通信
      2. 线程间的资源互斥共享
      3. 对象的锁定标志
      4. 同步方法
    8. 死锁
    9. 线程交互——wait()和notify()
      1. 问题的提出
      2. 解决方法
      3. 守护线程
      4. 综合应用
    10. 第十二章习题
  13. Java的网络功能
    1. 概述
    2. 使用InetAddress
    3. 统一资源定位器
      1. URL的概念
      2. URL的构造方法
      3. 与URL相关的异常
      4. 获取URL对象属性
      5. 读入URL数据
    4. Socket接口
      1. Socket的基本概念
      2. Socket通信的基本步骤
      3. Socket通信的程序设计
    5. Java编程综合实例
    6. 第十三章习题