第1篇 筑基
第1章 java初体验 3
1.1 为什么是java 3
1.2 java怎么改变我的生活 4
1.3 打开大门前的准备 5
1.3.1 下载jdk 5
1.3.2 安装jdk 6
1.3.3 jdk的配置 7
1.3.4 测试jdk配置是否成功 8
1.4 java世界的风俗 9
1.4.1 命名规范 9
1.4.2 代码编写常见规则 9
1.4.3 java注释要求 11
1.5 站在门口说hello 13
1.5.1 编写hello world代码 13
1.5.2 编译和运行hello world 14
1.5.3 如何获取在线帮助 16
1.6 小结 17
1.7 习题 17
第2章 java江湖的宝剑eclipse 18
2.1 eclipse的获取与安装 18
2.1.1 下载与安装eclipse 18
2.1.2 启动eclipse 19
2.1.3 汉化eclipse 20
2.2 eclipse使用说明 23
2.2.1 什么是工作空间 23
2.2.2 eclipse工作界面概述 23
2.2.3 什么是透视图 24
2.2.4 什么是视图 25
2.2.5 熟悉eclipse的菜单栏和工具栏 25
2.2.6 先人一手,掌握快捷键 26
2.3 手把手hello world 27
2.3.1 起式,创建新的java项目 28
2.3.2 出招,创建可执行java类 28
2.3.3 不一样的hello world 29
2.4 eclipse进阶 30
2.4.1 导入已有项目 30
2.4.2 插件机制简介 31
2.5 小结 31
2.6 习题 31
第3章 java功法之数据类型 32
3.1 生来不变的常量 32
3.2 为变而生的变量 33
3.3 数据类型 34
3.3.1 常用基础类型 34
3.3.2 对象类型 37
3.3.3 string详解 37
3.3.4 高精度数据类型 39
3.3.5 数组基础 40
3.4 数据类型间的转换 42
3.5 java中的常用运算符 43
3.5.1 赋值运算符 43
3.5.2 算术运算符 43
3.5.3 运算符的优先级别与结合特性 45
3.6 java的自留地——关键字 46
3.7 小结 47
3.8 习题 48
第4章 用如果造句——条件语句 49
4.1 如果… 49
4.1.1 关系条件 49
4.1.2 逻辑条件 52
4.1.3 用问号写最简洁的如果句子 53
4.2 否则… 54
4.2.1 如果与否则if…else… 54
4.2.2 如果里的如果——if 嵌套 54
4.3 开关switch 56
4.3.1 switch怎么用 56
4.3.2 switch与if的比较 58
4.3.3 用switch写个红绿灯开关 59
4.4 小结 60
4.5 习题 60
第5章 减轻重复劳动——循环语句 62
5.1 三千米的跑圈运动 62
5.1.1 用for语句跑圈 62
5.1.2 圈数加加,体力减减 66
5.1.3 什么时候用for 66
5.2 跑不动了怎么办 66
5.2.1 跳出比赛用break 67
5.2.2 偷工减料直接下一圈continue 67
5.3 圈圈的其他跑法 68
5.3.1 边跑边看终点的while 68
5.3.2 先跑一圈再说的do…while… 70
5.3.3 圈套圈——循环嵌套 71
5.4 各种跑圈方法的特点比较 75
5.5 小结 75
5.6 习题 76
第6章 对象是什么 77
6.1 一切都是对象 77
6.1.1 什么是对象 77
6.1.2 为什么要面向对象 79
6.2 包 80
6.2.1 包是什么 80
6.2.2 包起到什么作用 81
6.2.3 容易出错的包路径 82
6.2.4 使用包中的类 83
6.3 类 84
6.3.1 什么是类 84
6.3.2 类的结构 85
6.3.3 成员方法 86
6.3.4 成员变量和局部变量 87
6.3.5 公用还是私用 87
6.3.6 static关键字的使用 88
6.3.7 构造方法的意义 89
6.4 使用对象 90
6.4.1 创建对象 90
6.4.2 使用对象 92
6.4.3 对象的作用域 93
6.4.4 垃圾回收 93
6.5 小结 93
6.6 习题 94
第7章 对象深入 95
7.1 父子传承——继承 95
7.1.1 继承概念 95
7.1.2 继承的代码实现 96
7.1.3 继承中的类型转换 98
7.1.4 继承中的子类可以做些什么 98
7.1.5 单根继承 99
7.1.6 哪些遗产可以继承 99
7.1.7 继承后的初始化顺序 100
7.2 一名多用与青出于蓝 102
7.2.1 一名多用——方法的重载 102
7.2.2 青出于蓝——方法的覆写 103
7.3 抽象类与final类 105
7.3.1 我是模板之抽象类 105
7.3.2 巧用抽象类 106
7.3.3 我不要后代之final类 107
7.4 向世界说我能做到——接口 108
7.4.1 接口是什么 108
7.4.2 兑现承诺实现接口 109
7.4.3 面向接口编程 110
7.4.4 用接口实现多重继承特性 111
7.5 一切的根java.lang.object 112
7.6 小结 117
7.7 习题 118
第8章 形形色色的对象仓库 119
8.1 有序但容量有限的仓库——数组 119
8.1.1 单列门的床头柜——一维数组 119
8.1.2 分格书橱——二维数组 120
8.1.3 立体仓库——多维数组 122
8.1.4 经常出错之数组越界 122
8.2 不限容的大仓库arraylist 122
8.2.1 arraylist的定义.. 123
8.2.2 添加对象到arraylist 123
8.2.3 从arraylist中获取对象 124
8.2.4 从arraylist中移除对象 124
8.2.5 arraylist其他常用方法 124
8.2.6 迭代器iterator实现arraylist的迭代 125
8.2.7 arraylist的自定义排序 127
8.3 不允许重复的仓库set 129
8.3.1 使用hashset类 129
8.3.2 使用treeset类 130
8.4 易于检索的仓库hashmap 130
8.4.1 hashmap的定义 131
8.4.2 hashmap优点 131
8.4.3 hashmap的数据存取 131
8.4.4 hashmap的迭代 132
8.5 其他仓库 133
8.5.1 hashtable的简介 133
8.5.2 vector的简介 133
8.5.3 treemap的简介 133
8.5.4 linkedlist的简介 134
8.6 让仓库更安全——泛型 135
8.7 小结 136
8.8 习题 136
第2篇 进阶
第9章 不当甩手掌柜——异常处理 141
9.1 出异常了 141
9.1.1 异常是什么 141
9.1.2 异常的分类 142
9.1.3 常见异常列表 143
9.2 捕捉捣蛋鬼之try…catch… 144
9.3 抓异常的处理策略 147
9.3.1 抓了不管的unchecked异常 147
9.3.2 两手硬抓的checked异常 150
9.4 自定义异常 151
9.5 抓住捣蛋鬼后的清场行动之finally使用 151
9.6 小结 153
9.7 习题 153
第10章 进出之道java输入输出系统 155
10.1 java i/o简介 155
10.1.1 流的概念 155
10.1.2 字节数据流 156
10.1.3 字符数据流 159
10.1.4 缓冲数据流 163
10.2 到命令行的输入输出 163
10.2.1 标准流 163
10.2.2 命令行上的输入输出 164
10.2.3 格式化输出 165
10.3 一步一步学文件操作 167
10.3.1 文件夹操作 167
10.3.2 文件操作 169
10.3.3 文件内容的读写 170
10.4 properties类文件的操作 170
10.4.1 读取properties文件 170
10.4.2 写入properties文件 171
10.4.3 properties类详解 173
10.5 serializable接口的使用 173
10.5.1 serializable概念 173
10.5.2 把对象写到硬盘上 174
10.6 小结 176
10.7 习题 176
第11章 榨干cpu之多线程 177
11.1 线程起步 177
11.1.1 进程与线程 177
11.1.2 可恶的排队 178
11.1.3 造个分身去排队 179
11.2 怎么创建线程 180
11.2.1 通过继承thread类创建线程 180
11.2.2 通过实现runnable接口创建线程 181
11.2.3 怎么选择最符合的创建方式 182
11.3 我想排到前面去 183
11.3.1 调整线程的优先级 183
11.3.2 线程的执行顺序 183
11.4 维持排队秩序——线程的控制 184
11.4.1 中断线程 184
11.4.2 join方法 185
11.4.3 sleep()方法 187
11.4.4 yield()方法 187
11.5 默默地做任务——守护线程 187
11.6 重要共享资源管理——线程的同步 188
11.6.1 多线程同写一块数据 188
11.6.2 线程同步方法 190
11.6.3 将代码块设为同步 191
11.6.4 线程死锁 191
11.7 线程间通信 192
11.7.1 线程的状态 192
11.7.2 wait()、notify()与notifyall() 192
11.7.3 几个不再被使用的方法 193
11.8 小结 193
11.9 习题 193
第12章 通往数据库的桥(jdbc) 194
12.1 什么是jdbc 195
12.1.1 jdbc简介 195
12.1.2 关系型数据库的常见操作 196
12.1.3 怎样获取正确的jdbc驱动程序 198
12.2 必须会使用的jdbc类 200
12.2.1 打开数据库的connection 200
12.2.2 执行指令的statement 203
12.2.3 查询结果集resultset 204
12.3 一步一步学查数据库 205
12.3.1 执行查询sql语句 205
12.3.2 处理查询结果 207
12.3.3 完整的查询示例 208
12.4 一步一步学各种数据库操作 210
12.4.1 怎么插入数据到数据库 210
12.4.2 怎么更新数据到数据库 211
12.4.3 怎么从数据库删除数据 211
12.5 jdbc处理事务 212
12.6 小结 212
12.7 习题 213
第13章 窗体程序开发技术(swing) 214
13.1 swing简介 214
13.2 跟我学用窗体说hello world 215
13.2.1 创建主窗体 215
13.2.2 创建菜单 217
13.2.3 创建工具栏 218
13.2.4 创建文本框 218
13.2.5 创建按钮 219
13.2.6 添加消息框 219
13.2.7 添加事件 220
13.2.8 完整代码 221
13.3 常用布局管理器 223
13.3.1 flowlayout布局 223
13.3.2 borderlayout布局 224
13.3.3 gridbaglayout布局 225
13.4 所见即所得的jigloo 226
13.4.1 jigloo的获得 227
13.4.2 jigloo的创建向导 227
13.4.3 jigloo的操作界面简介 227
13.5 小结 229
13.6 习题 229
第3篇 实战讲解
第14章 轻轻松松黑杰克(21点) 233
14.1 21点游戏的需求分析 233
14.1.1 需求用例分析 233
14.1.2 玩法分析 234
14.2 代码实现 234
14.2.1 card扑克牌 234
14.2.2 player玩家 235
14.2.3 dealer荷官 236
14.2.4 cardsinhand一手好牌 237
14.2.5 blackjack游戏开始 237
14.3 小结 241
第15章 应用实战之实用个人通讯册(c/s) 242
15.1 需求分析 242
15.2 数据库设计 243
15.3 界面设计 244
15.3.1 主界面设计 244
15.3.2 添加联系人界面 244
15.3.3 修改联系人界面 244
15.3.4 删除联系人界面 245
15.4 功能实现 245
15.4.1 工具代码 245
15.4.2 数据库表访问类 247
15.4.3 主界面代码 252
15.4.4 添加与修改界面代码 256
15.5 小结 259
附录 jdk命令详解. 260
· · · · · · (
收起)