第一篇 Java基础 1
第1章 第一个Java程序——HelloWorld(教学视频:14分钟) 1
1.1 Java语言简介 1
1.1.1 Java语言的历史 1
1.1.2 Java语言的优点 2
1.1.3发展前景 2
1.2工作原理 3
1.2.1 Java虚拟机(JVM) 3
1.2.2无用内存自动回收机制 4
1.2.3代码安全性检查机制 4
1.3搭建Java程序开发环境 4
1.3.1系统要求 4
1.3.2下载Java程序开发工具包JDK 4
1.3.3安装JDK 5
1.3.4在Windows系统下配置JDK 7
1.4开发第一个Java应用程序 9
1.4.1 Eclipse编写HelloWorld 9
1.4.2源文件与命令行执行Hello World 12
1.4.3 Java应用程序的基本结构 14
1.5小结 14
1.6习题 14
第2章 Java变量、数据类型、运算符(教学视频:20分钟) 15
2.1标识符和关键字 15
2.1.1标识符 15
2.1.2标识符命名规则 15
2.1.3关键字 15
2.2常量与变量 16
2.2.1常量概念及声明 16
2.2.2枚举类型 16
2.2.3变量概念及声明 17
2.2.4变量的作用域 18
2.3基本数据类型 19
2.3.1整型 19
2.3.2浮点型 20
2.3.3布尔型 20
2.3.4字符型 20
2.3.5数据类型转换 21
2.4运算符 22
2.4.1算术运算符 23
2.4.2赋值运算符 23
2.4.3关系运算符 24
2.4.4逻辑运算符 25
2.4.5位运算符 25
2.4.6自增自减运算符 28
2.4.7三元运算符 28
2.4.8运算符的优先级 28
2.5小结 29
2.6习题 29
第3章 数组(教学视频:25分钟) 30
3.1数组的概念 30
3.1.1什么是数组 30
3.1.2数组的特点 30
3.1.3数组的规则 30
3.2一维数组 31
3.2.1声明一维数组 31
3.2.2初始化一维数组 31
3.2.3访问一维数组 32
3.2.4修改一维数组元素 32
3.3数组的常用操作 33
3.3.1数组长度 33
3.3.2数组填充 33
3.3.3数组复制 34
3.3.4数组比较 34
3.3.5数组排序 35
3.3.6在数组中搜索指定元素 36
3.3.7把数组转换为字符串 36
3.4多维数组 37
3.4.1声明二维数组 37
3.4.2创建二维数组 37
3.4.3访问二维数组 38
3.4.4遍历二维数组 38
3.5小结 39
3.6习题 39
第4章 条件结构和循环结构(教学视频:23分钟) 40
4.1条件结构 40
4.1.1 if语句 40
4.1.2 if-else语句 41
4.1.3 if-else-if语句 42
4.1.4选择语句的嵌套 43
4.1.5 switch语句 44
4.1.6 if与switch的区别 45
4.2循环结构 45
4.2.1 while循环语句 45
4.2.2 do-while循环语句 46
4.2.3 while与do-while的区别 47
4.2.4 for循环语句 48
4.2.5嵌套循环语句 49
4.3跳转语句 51
4.3.1 break跳转语句 51
4.3.2 continue跳转语句 51
4.3.3 break与continue的区别 52
4.3.4 return跳转语句 53
4.4实例 53
4.5小结 54
4.6习题 54
第5章 字符串处理(教学视频:25分钟) 55
5.1字符 55
5.2字符串 56
5.2.1字符串声明与赋值 56
5.2.2获取字符串长度 57
5.3字符串基本操作 57
5.3.1字符串连接 57
5.3.2字符串比较 58
5.3.3字符串截取 59
5.3.4字符串查找 59
5.3.5字符串替换 60
5.3.6字符串与字符数组 60
5.3.7字符串其他常用操作 61
5.4 StringBuffer类 61
5.4.1认识StringBuffer类 62
5.4.2 StringBuffer类提供的操作方法 62
5.4.3 StringBuffer实例 62
5.4.4 String类与StringBuffer类对比 63
5.5实例 63
5.6小结 64
5.7习题 64
第二篇 Java面向对象 65
第6章 面向对象(教学视频:30分钟) 65
6.1面向对象编程简介 65
6.1.1类 65
6.1.2对象 65
6.1.3继承 66
6.1.4接口 67
6.1.5包 67
6.2类 67
6.2.1基本结构 67
6.2.2类变量 68
6.2.3类方法 69
6.2.4类方法命名 70
6.2.5调用类方法 70
6.2.6方法重载 70
6.2.7构造方法 71
6.2.8方法返回值 71
6.3抽象类和抽象方法 72
6.3.1抽象类 72
6.3.2抽象类实例 72
6.3.3抽象类的类成员 73
6.3.4抽象方法 73
6.3.5抽象类与接口对比 74
6.4嵌套类 74
6.4.1嵌套类定义 74
6.4.2内部类 75
6.4.3静态嵌套类 75
6.5对象 75
6.5.1对象实例 75
6.5.2创建对象 77
6.5.3使用对象 78
6.6 this、static、final关键字 79
6.6.1 this关键字 79
6.6.2 static关键字 79
6.6.3 final关键字 80
6.7控制对类的成员的访问 80
6.8标注 80
6.8.1标注用法 81
6.8.2文档标注 81
6.9小结 82
6.10习题 82
第7章 继承(教学视频:20分钟) 83
7.1继承概述 83
7.1.1什么是继承 83
7.1.2类的层次 84
7.1.3继承示例 84
7.1.4继承优点 85
7.2对象类型转换 85
7.2.1隐式对象类型转换 85
7.2.2强制对象类型转换 86
7.2.3使用instanceof运算符 86
7.3重写和隐藏父类方法 86
7.3.1重写父类中的方法 86
7.3.2隐藏父类中的方法 87
7.3.3方法重写和方法隐藏后的修饰符 88
7.3.4总结 88
7.4隐藏父类中的字段 89
7.5子类访问父类成员 90
7.5.1子类访问父类私有成员 90
7.5.2使用super调用父类中重写的方法 91
7.5.3使用super访问父类中被隐藏的字段 91
7.5.4使用super调用父类的无参构造方法 92
7.5.5使用super调用父类的带参构造方法 93
7.5.6构造方法链 94
7.6 Object类 95
7.7小结 95
7.8习题 96
第8章 接口和包(教学视频:16分钟) 97
8.1接口的概念 97
8.1.1为什么使用接口 97
8.1.2 Java中的接口 97
8.1.3作为API的接口 98
8.1.4接口和多继承 98
8.1.5 Java接口与Java抽象类的区别 98
8.2定义接口 99
8.2.1声明接口 99
8.2.2接口体 100
8.3实现接口 100
8.3.1接口的实现 100
8.3.2接口示例 101
8.3.3接口的继承 101
8.3.4实现多个接口时的常量和方法冲突问题 101
8.4包 103
8.4.1包的概念 103
8.4.2创建包 103
8.4.3包命名惯例 103
8.4.4导入包 104
8.5小结 104
8.6习题 104
第9章 集合(教学视频:17分钟) 105
9.1 Java集合框架 105
9.2 Collection接口 105
9.2.1转换构造方法 105
9.2.2 Collection接口的定义 105
9.2.3 Collection接口的基本操作 106
9.2.4遍历Collection接口 106
9.2.5 Collection接口的批量操作 107
9.2.6 Collection接口的数组操作 107
9.3 Set接口 108
9.3.1 Set接口的定义 108
9.3.2 Set接口的基本操作 109
9.3.3 Set接口的批量操作 110
9.3.4 Set接口的数组操作 111
9.4 List接口 111
9.4.1 List接口的定义 111
9.4.2从Collection继承的操作 111
9.4.3按位置访问和查找操作 112
9.4.4 List迭代方法 113
9.5 Map接口 114
9.5.1 Map接口的定义 114
9.5.2 Map接口的基本操作 115
9.5.3 Map接口的批量操作 116
9.6实现 116
9.6.1实现的类型 116
9.6.2 Set接口的实现 117
9.6.3 List接口的实现 118
9.6.4 Map接口的实现 118
9.7小结 119
9.8习题 119
第三篇 Swing 120
第10章 第一个图形界面应用程序(教学视频:12分钟) 120
10.1 Swing简介 120
10.1.1 Swing 120
10.1.2 Swing特点 120
10.2创建第一个图形界面程序 121
10.3 Swing顶层容器 122
10.3.1 Swing中的顶层容器类 122
10.3.2容器层 124
10.3.3组件使用 124
10.3.4添加菜单栏 124
10.3.5根面板 125
10.4 JFrame类创建图形界面窗体 125
10.4.1创建窗体 125
10.4.2创建窗体示例 126
10.4.3设置窗口 127
10.4.4窗口关闭事件 128
10.4.5窗体API 129
10.5小结 130
10.6习题 131
第11章 Swing组件(教学视频:24分钟) 132
11.1 JComponent类 132
11.2常用基本组件 133
11.2.1按钮组件JButton 133
11.2.2复选框组件JCheckBox 133
11.2.3单选按钮组件JRadioButton 134
11.2.4文本框组件JTextField 134
11.2.5密码框组件JPasswordField 134
11.2.6组合框组件JComboBox 134
11.2.7滑块组件JSlider 135
11.2.8微调组制组件JSpinner 135
11.2.9菜单组件JMenu 135
11.3不可编辑的信息显示组件 135
11.3.1标签组件JLabel 136
11.3.2进度条组件JProgressBar 136
11.3.3工具提示组件JToolTip 136
11.4 Swing高级组件 137
11.4.1颜色选择器Jcolor Chooser 137
11.4.2文件选择器Jfile Chooser 137
11.4.3文本编辑组件JeditorPane 和JTextPane 138
11.4.4文本区组件JTextArea 139
11.4.5表组件JTable 139
11.4.6树组件JTree 140
11.4.7面板组件JPanel 141
11.4.8滚动面板JScrollPane 141
11.4.9分割面板JSplitPane 141
11.4.10选项卡面板JTabbedPane 142
11.4.11工具栏JToolBa 142
11.5小结 143
11.6习题 143
第12章 标准布局(教学视频:18分钟) 144
12.1标准布局管理器简介 144
12.1.1 BorderLayout边框布局 144
12.1.2 BoxLayout布局 144
12.1.3 CardLayout卡片布局 145
12.1.4 FlowLayout流动布局 146
12.1.5 GridLayout网格布局 146
12.1.6 GridBagLayout网格包布局 146
12.2布局管理器的使用 147
12.2.1使用BorderLayout 147
12.2.2使用BoxLayout 148
12.2.3使用CardLayout 148
12.2.4使用FlowLayout 149
12.2.5使用GridLayout 149
12.2.6使用GridbagLayout 150
12.3使用布局管理器技巧 150
12.3.1设置布局管理器 150
12.3.2向容器中添加组件 151
12.3.3提供组件大小和排列策略 151
12.3.4设置组件之间的间隙 151
12.3.5设置容器的语言方向 152
12.3.6选择布局管理器 152
12.4实例:设计用户登录界面 153
12.4.1设计界面布局 153
12.4.2代码实现 153
12.5小结 156
12.6习题 156
第13章 事件处理(教学视频:13分钟) 157
13.1事件处理原理 157
13.1.1事件处理模型 157
13.1.2事件类型 158
13.1.3监听器类型 159
13.2动作事件 160
13.2.1动作事件步骤 160
13.2.2动作事件过程 160
13.2.3按钮触发动作事件 161
13.2.4文本框触发事件 162
13.3选项事件 163
13.3.1选项事件步骤 163
13.3.2选项事件过程 164
13.4列表选择事件 164
13.4.1列表事件步骤 164
13.4.2列表事件过程 164
13.5焦点事件 165
13.5.1焦点事件步骤 165
13.5.2焦点事件过程 165
13.6键盘事件 166
13.6.1键盘事件步骤 166
13.6.2处理键盘过程 166
13.7鼠标事件 167
13.7.1鼠标事件步骤 167
13.7.2鼠标事件过程 167
13.8鼠标移动事件 168
13.8.1鼠标移动事件步骤 168
13.8.2鼠标移动事件过程 168
13.9实例:一个简单的用户登录验证程序 169
13.9.1程序功能 169
13.9.2为程序实现动作事件监听器 170
13.9.3为按钮注册监听器 171
13.9.4实现ActionListener接口中的actionPerformed方法 171
13.9.5编译并运行程序 172
13.10小结 172
13.11习题 172
第四篇 Java编程技术 173
第14章 异常处理(教学视频:16分钟) 173
14.1 Java异常 173
14.1.1编译错误 173
14.1.2运行错误 173
14.1.3逻辑错误 174
14.1.4异常处理机制 175
14.1.5异常处理类 175
14.1.6异常处理原则 177
14.2处理异常 178
14.2.1 try-catch语句 178
14.2.2多个catch子句 178
14.2.3 finally子句 179
14.2.4可嵌入的try块 180
14.3抛出异常 180
14.3.1使用throws抛出异常 181
14.3.2使用throw抛出异常 181
14.3.3异常类常用方法 182
14.4自定义异常 182
14.4.1创建自定义异常类 182
14.4.2处理自定义异常 183
14.5小结 184
14.6习题 184
第15章 输入与输出(教学视频:14分钟) 185
15.1流 185
15.1.1流的概念 185
15.1.2输入流与输出流 186
15.1.3字节流与字符流 187
15.2字节流 187
15.2.1 InputStream类与OutputStream类 187
15.2.2 FileInputStream类与FileOutputStream类 188
15.2.3 BufferedInputStream类与BufferedOutputStream类 189
15.3字符流 190
15.3.1 Reader类和Writer类 190
15.3.2 FileReader类和FileWriter类 191
15.3.3 BufferedReader类和BufferedWriter类 192
15.3.4 PrintStream类和PrintWriter类 193
15.4实现用户输入 193
15.4.1使用System.in获取用户输入 194
15.4.2使用Scanner类获取用户输入 194
15.5小结 195
15.6习题 195
第16章 线程(教学视频:18分钟) 196
16.1线程概念 196
16.1.1线程的属性 196
16.1.2线程的组成 197
16.1.3线程工作原理 197
16.1.4线程的状态 198
16.1.5线程的优先级 198
16.1.6进程的概念 198
16.1.7线程和进程的区别 199
16.2线程对象 199
16.2.1线程对象和线程的区别 200
16.2.2定义并启动一个线程 200
16.2.3使用Sleep暂停线程执行 200
16.2.4中断线程 201
16.2.5 join方法 201
16.2.6死锁 202
16.3线程同步 202
16.3.1同步方法 202
16.3.2固定锁和同步 203
16.4线程使用实例 204
16.5小结 206
16.6习题 206
第17章 网络编程(教学视频:8分钟) 207
17.1网络编程基础 207
17.1.1什么是TCP协议 207
17.1.2什么是IP协议 207
17.1.3什么是TCP/IP 208
17.1.4什么是UDP协议 208
17.1.5什么是端口 208
17.1.6什么是套接字 208
17.1.7 java.net包 208
17.2 InetAddress类 209
17.3 URL网络编程 210
17.3.1 URL 210
17.3.2符语法 211
17.3.3 URLConnection类 211
17.4 TCP的网络编程 212
17.4.1 Socket 212
17.4.2重要的Socket API 213
17.4.3服务器端程序设计 213
17.4.4客户端程序设计 215
17.5 UDP网络编程 215
17.5.1 UDP通信概念 216
17.5.2 UDP的特性 216
17.5.3 UDP的应用 217
17.5.4 UDP与TCP的区别 217
17.6小结 218
17.7习题 218
第18章 数据库应用程序开发基础(教学视频: 22分钟) 219
18.1数据库 219
18.1.1数据库简介 219
18.1.2数据库中数据的性质 219
18.1.3数据库的特点 220
18.2 JDBC概述 220
18.2.1 JDBC介绍 221
18.2.2 JDBC的4种驱动程序 222
18.2.3 JDBC对B/S和C/S模式的支持 223
18.3 java.sql包 223
18.4 SQL语句 224
18.4.1 SQL语句的分类 224
18.4.2 SELECT语句 224
18.4.3 INSERT语句 224
18.4.4 UPDATE语句 225
18.4.5 DELETE语句 225
18.4.6 CREATE语句 225
18.4.7 DROP语句 225
18.5访问数据库 225
18.5.1创建数据库连接 226
18.5.2对数据库进行查询 226
18.5.3增加、修改、删除数据库中的数据 227
18.6小结 228
18.7习题 228
第19章 使用Swing组件创建数据库应用程序(教学视频: 10分钟) 229
19.1 JComboBox组件创建数据库应用程序 229
19.1.1创建JComboBox 229
19.1.2 DefaultComboBoxModel创建JComboBox 231
19.2 JList组件创建数据库应用程序 232
19.2.1 DefaultListModel创建JList 232
19.2.2 ListModel创建JList 233
19.3 JTable组件创建数据库应用程序 234
19.3.1 JTable相关的类 234
19.3.2 DefaultTableModel创建JTable 235
19.4小结 236
19.5习题 236
第五篇 Java Web基础 237
第20章 JSP(教学视频:25分钟) 237
20.1 JSP简介 237
20.1.1 MVC模式 237
20.1.2 JSP技术的优点 238
20.2基本语法 238
20.2.1注释 238
20.2.2 JSP指令 239
20.3 JSP脚本元素 241
20.3.1 JSP声明 242
20.3.2 JSP表达式 242
20.4 JSP动作 243
20.4.1 include动作元素 243
20.4.2 forword动作元素 244
20.4.3 plugin动作元素 244
20.4.4 param动作元素 245
20.4.5 useBean及setProperty和getProperty动作元素 245
20.5 JSP内置对象 247
20.5.1 request对象 247
20.5.2 response对象 249
20.5.3 session对象 249
20.5.4 application对象 250
20.5.5 out对象 251
20.5.6 config对象 252
20.5.7 exception对象 252
20.5.8 pageContext对象 253
20.6小结 254
20.7习题 254
第21章 Servlet(教学视频:23分钟) 255
21.1 Servlet简介 255
21.1.1什么是Servlet 255
21.1.2 Servlet的生命周期 255
21.1.3 Servlet的基本结构 256
21.2 HTTPServlet应用编程接口 256
21.2.1 init()方法 257
21.2.2 service()方法 257
21.2.3 doGet()方法 257
21.2.4 doPost()方法 257
21.2.5 destroy()方法 257
21.2.6 GetServletConfig()方法 258
21.2.7 GetServletInfo()方法 258
21.3创建HttpServlet 258
21.4调用HttpServlet 259
21.4.1由URL调用Servlet 259
21.4.2在<FORM>标记中指定Servlet 260
21.4.3在<SERVLET>标记中指定Servlet 260
21.4.4在ASP文件中调用Servlet 261
21.5 Servlet之间的跳转 261
21.5.1转向(Forward) 261
21.5.2重定向(Redirect) 262
21.6小结 263
21.7习题 263
第六篇 Java实战 264
第22章 案例:教务管理系统(一) 264
22.1总体设计与概要说明 264
22.1.1功能模块划分 264
22.1.2功能模块说明 265
22.2业务流程图 265
22.2.1登录模块流程 265
22.2.2班主任管理模块流程 266
22.2.3教务主任管理模块 266
22.2.4人事管理模块 266
22.3数据库设计 267
22.3.1数据库需求分析 267
22.3.2数据库概念结构设计 267
22.3.3数据库逻辑结构设计 269
22.3.4数据库结构的实现 272
22.4小结 273
第23章 案例:教务管理系统(二) 274
23.1应用程序实现 274
23.2实现登录模块 275
23.3管理界面介绍 276
23.4实现修改密码模块 279
23.4.1 jbInit()方法 280
23.4.2修改用户权限 281
23.4.3修改用户密码 281
23.5实现“关于”对话框 282
23.6实现人事管理模块介绍 284
23.6.1退出系统管理 286
23.6.2创建组件及处理事件 288
23.6.3动态显示登录者相关信息 290
23.6.4员工个人信息的查询 291
23.6.5事件处理方法回调 292
23.7实现TeacherInfoB ean信息封装类 293
23.8实现DepartmentAction、TeacherAction业务处理类 294
23.8.1实现DepartmentAction类 295
23.8.2实现TeacherAction类 295
23.9软件部署 300
23.9.1组织程序所需资源 300
23.9.2运行和测试程序 300
23.10项目总结 300