从零开始学Java(第2版)(含CD光盘1张)

出版日期:2014-10
ISBN:9787121242524
作者:郭现杰,张权
页数:316页

书籍目录

第一篇 Java 基础
第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 源文件与命令行执行HelloWorld••••••••• 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 面向对象
第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
第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 颜色选择器JColorChooser••••••••137
11.4.2 文件选择器JFileChooser•••••••••• 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 工具栏JToolBar •••••••••• 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 编程技术
第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 基础
第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 在
标记中指定Servlet ••••••••••••• 260
21.4.3 在标记中指定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 实战
第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 实现TeacherInfoBean 信息封装类••••••••••••••••••••••••••••••••• 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

作者简介

《从零开始学Java(第2版)》针对初学和自学读者的特点,以通俗易懂的语言介绍Java 语言。全书内容分为六篇共23 章,讲解了Java 的各个方面,内容包括Java 语言的发展、环境配置、基本语法、流程控制语句、字符串处理、数组、面向对象、图形界面设计、输入/输出、处理异常、网络编程、数据库及Java Web 基础JSP 和Servlet。最后通过一个大型项目——教务管理系统贯穿所有学习知识点,让读者更好地体会Java 语言编程开发。
《从零开始学Java(第2版)》运用大量示例,让读者在实战中体会编程的快乐。为方便读者学习,本书赠送光盘一张,其中包含书中用到的所有示例代码、PPT 教案及视频教程。建议读者边学边练,培养自己单独开发项目的能力。《从零开始学Java(第2版)》适合想从事软件开发的入门人员、Java 自学者及初级软件程序员与信息技术人员阅读。


 从零开始学Java(第2版)(含CD光盘1张)下载



发布书评

 
 


 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024