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