第1章Java语言概述
1.1Java起源与发展
1.1.1Java的起源
1.1.2Java的发展历程
1.1.3Java语言的特点
1.2面向对象编程概述
1.2.1OOP的产生
1.2.2OOP的优势
1.2.3OO的主要应用
1.3简单的Java程序
1.3.1JDK的下载与安装
1.3.2第一个简单的程序
1.3.3第一个程序分析
1.3.4集成开发环境
1.4Java字节码与虚拟机
1.4.1Java平台与Java虚拟机
1.4.2Java程序的运行机制
1.5Java关键字和标识符
1.5.1Java关键字
1.5.2Java标识符
1.5.3Java编码规范
1.6小结
1.7习题
第2章数据类型和运算符
2.1简单程序的开发
2.2数据类型
2.2.1Java数据类型
2.2.2整数类型
2.2.3浮点型
2.2.4字符型
2.2.5布尔型数据
2.2.6字符串型数据
2.3常用运算符
2.3.1算术运算符
2.3.2关系运算符
2.3.3位运算符
2.3.4逻辑运算符
2.3.5赋值运算符
2.3.6运算符的优先级和结合性
2.4数据类型转换
2.4.1自动类型转换
2.4.2强制类型转换
2.4.3表达式中类型自动提升
2.5小结
2.6习题
第3章程序流程控制
3.1分支结构
3.1.1if语句结构
3.1.2条件运算符
3.1.3switch语句结构
3.2循环结构
3.2.1while循环结构
3.2.2dowhile循环结构
3.2.3for循环结构
3.2.4循环结构的嵌套
3.2.5break语句和continue语句
3.3案例研究
3.3.1一位数加法练习程序
3.3.2任意抽取一张牌
3.3.3求最大公约数
3.3.4打印输出若干素数
3.3.5打印一年的日历
3.4小结
3.5习题
第4章类和对象基础
4.1面向对象基础
4.1.1面向对象的基本概念
4.1.2面向对象的基本特征
4.2Java类与对象
4.2.1类的定义
4.2.2对象的使用
4.2.3用UML图表示类
4.2.4理解栈与堆
4.3方法设计
4.3.1如何设计方法
4.3.2方法的调用
4.3.3方法重载
4.3.4构造方法
4.3.5方法参数的传递
4.4static修饰符
4.4.1实例变量和静态变量
4.4.2实例方法和静态方法
4.4.3static修饰符的一个应用
4.4.4方法的递归调用
4.5Math类
4.6对象初始化和清除
4.6.1实例变量的初始化
4.6.2静态变量的初始化
4.6.3垃圾回收器
4.6.4变量作用域和生存期
4.7包与类的导入
4.7.1包的管理
4.7.2类的导入
4.7.3Java编译单元
4.8小结
4.9习题
第5章数组及应用
5.1创建和使用数组
5.1.1数组定义
5.1.2数组的使用
5.1.3数组元素的复制
5.1.4数组作为方法参数和返回值
5.1.5实例:随机抽取4张牌
5.1.6实例:一个整数栈类
5.1.7可变参数的方法
5.1.8数组的排序
5.1.9数组的查找
5.2多维数组
5.2.1多维数组定义
5.2.2不规则数组
5.2.3数组元素的使用
5.2.4实例:打印杨辉三角形
5.2.5实例:矩阵乘法
5.3小结
5.4习题
第6章字符串及应用
6.1String类
6.1.1创建String类对象
6.1.2字符串类几个常用方法
6.1.3字符串查找
6.1.4字符串与数组之间的转换
6.1.5字符串的解析
6.1.6字符串比较
6.1.7String对象的不变性
6.2命令行参数
6.3StringBuilder类
6.3.1创建StringBuilder对象
6.3.2StringBuilder的访问和修改
6.3.3运算符“+”的重载
6.4正则表达式
6.4.1模式匹配
6.4.2Pattern类
6.4.3Matcher类
6.4.4量词和捕获组
6.5小结
6.6习题
第7章Java面向对象特征
7.1类的继承
7.1.1类继承的实现
7.1.2方法覆盖
7.1.3super关键字的使用
7.1.4子类的构造方法及调用过程
7.1.5final修饰符
7.2Object类
7.2.1toString方法
7.2.2equals方法
7.2.3hashCode方法
7.2.4clone方法
7.2.5finalize方法
7.3基本类型包装类
7.3.1Character 类
7.3.2Boolean类
7.3.3Number类及其子类
7.3.4创建数值类对象
7.3.5数值类的常量
7.3.6自动装箱与自动拆箱
7.3.7字符串转换为基本类型
7.3.8BigInteger和BigDecimal类
7.4封装性与访问修饰符
7.4.1类的访问权限
7.4.2类成员的访问权限
7.5抽象类与接口
7.5.1抽象方法和抽象类
7.5.2接口及其定义
7.5.3接口的实现
7.6对象转换与多态性
7.6.1对象转换
7.6.2instanceof运算符
7.6.3多态性与动态绑定
7.6.4接口类型的使用
7.7小结
7.8习题
第8章异常处理与断言
8.1异常与异常类
8.1.1异常的概念
8.1.2Throwable类及其子类
8.2异常处理机制
8.2.1异常的抛出与捕获
8.2.2trycatchfinally语句
8.2.3用catch捕获多个异常
8.2.4声明方法抛出异常
8.2.5用throw语句抛出异常
8.2.6trywithresources语句
8.3自定义异常类
8.4断言机制
8.4.1断言概述
8.4.2启动和关闭断言
8.4.3何时使用断言
8.4.4一个使用断言的示例
8.5小结
8.6习题
第9章输入输出
9.1文件I/O概述
9.1.1文件系统和路径
9.1.2Path对象
9.2Files类操作
9.2.1创建和删除目录和文件
9.2.2文件属性操作
9.2.3文件和目录的复制与移动
9.2.4获取目录的对象
9.2.5小文件的读写
9.3字节I/O流
9.3.1InputStream类和OutputStream类
9.3.2读写二进制数据
9.3.3DataInputStream类和DataOutputStream类
9.3.4文本文件和二进制文件
9.3.5用PrintStream输出文本
9.3.6格式化输出
9.3.7使用Scanner类读取文本文件
9.4字符I/O流
9.4.1Reader类和Writer类
9.4.2BufferedReader类和BufferedWriter类
9.4.3InputStreamReader类和OutputStreamWriter类
9.4.4PrintWriter类
9.4.5标准输入输出流
9.5随机访问文件
9.5.1创建SeekableByteChannel对象
9.5.2SeekableByteChannel接口的方法
9.5.3ByteBuffer类
9.6对象序列化
9.6.1对象序列化与对象流
9.6.2向ObjectOutputStream中写入对象
9.6.3从ObjectInputStream中读出对象
9.7小结
9.8习题
第10章集合与泛型
10.1集合框架
10.1.1Collection接口及操作
10.1.2集合元素迭代
10.1.3List接口及实现类
10.1.4Set接口及实现类
10.1.5对象顺序
10.1.6Queue接口及实现类
10.1.7集合转换
10.2Map接口及实现类
10.2.1Map接口
10.2.2Map接口的实现类
10.3Arrays类和Collections类
10.3.1Arrays类
10.3.2Collections类
10.4泛型介绍
10.4.1为何引进泛型
10.4.2泛型类型
10.4.3泛型方法
10.4.4通配符(?)的使用
10.4.5有界类型参数
10.4.6类型擦除
10.5小结
10.6习题
第11章嵌套类、枚举和注解
11.1嵌套类
11.1.1静态嵌套类
11.1.2成员内部类
11.1.3局部内部类
11.1.4匿名内部类
11.2枚举类型
11.2.1枚举类型的定义
11.2.2枚举类型的方法
11.2.3枚举在switch中的应用
11.2.4枚举类型的构造方法
11.3注解类型
11.3.1注解概述
11.3.2标准注解
11.3.3定义注解类型
11.3.4标准元注解
11.4小结
11.5习题
第12章国际化与本地化
12.1国际化(i18n)
12.1.1Locale类
12.1.2TimeZone类
12.2时间、日期和日历
12.2.1Date类
12.2.2Calendar类
12.2.3GregorianCalendar类
12.3数据格式化
12.3.1DateFormat类
12.3.2NumberFormat类
12.4资源包的使用
12.4.1属性文件
12.4.2使用ResourceBundle类
12.4.3使用ListResourceBundle类
12.5小结
12.6习题
第13章多线程基础
13.1线程与线程类
13.1.1线程的概念
13.1.2Thread类和Runnable接口
13.2线程的创建
13.2.1继承Thread类
13.2.2实现Runnable接口
13.2.3主线程
13.3线程的状态与调度
13.3.1线程的状态
13.3.2线程的优先级和调度
13.3.3控制线程的结束
13.4线程同步与对象锁
13.4.1资源共享问题
13.4.2对象锁的实现
13.4.3线程间的同步控制
13.5小结
13.6习题
第14章图形用户界面
14.1Swing概述
14.2组件和容器
14.2.1组件
14.2.2容器
14.2.3一个简单的Swing程序
14.2.4顶级容器的使用
14.3容器布局
14.3.1FlowLayout布局管理器
14.3.2BorderLayout布局管理器
14.3.3GridLayout布局管理器
14.3.4其他布局管理器
14.3.5面板容器及容器的嵌套
14.4在面板中绘图
14.4.1在面板中绘图
14.4.2Graphics类
14.4.3Color类
14.4.4Font类
14.5事件处理
14.5.1事件处理模型
14.5.2事件类
14.5.3事件监听器
14.5.4事件处理的基本步骤
14.5.5常见的事件处理
14.5.6实例:升国旗奏国歌
14.6常用组件
14.6.1JLabel类
14.6.2JButton类
14.6.3JTextField类
14.6.4JTextArea类
14.6.5JCheckBox类
14.6.6JRadioButton类
14.6.7JComboBox类
14.6.8JOptionPane类
14.6.9JFileChooser类
14.6.10菜单组件
14.7小结
14.8习题
第15章数据库编程
15.1JDBC概述
15.1.1两层和三层模型
15.1.2JDBC驱动程序与安装
15.1.3JDBC API介绍
15.2数据库连接步骤
15.2.1加载驱动程序
15.2.2建立连接对象
15.2.3创建语句对象
15.2.4ResultSet对象
15.2.5关闭有关对象
15.3数据库访问示例
15.3.1访问Microsoft Access数据库
15.3.2访问PostgreSQL数据库
15.4预处理语句
15.4.1创建PreparedStatement对象
15.4.2带参数的SQL语句
15.4.3DAO设计模式及应用
15.5可滚动和可更新的ResultSet
15.5.1可滚动的ResultSet
15.5.2可更新的ResultSet
15.5.3实例:访问数据库的GUI程序
15.6小结
15.7习题
参考文献
附录AASCII码
附录B主函数的参数
