从零开始学Java

副标题:无

作   者:郭现杰,张权编著

分类号:

ISBN:9787121242526

微信扫一扫,移动浏览光盘

简介

《从零开始学Java(第2版)》针对初学和自学读者的特点,以通俗易懂的语言介绍Java语言,全书内容分为六篇共23章,讲解了Java的各个方面。内容包括Java语言的发展、环境配置、基本语法、流程控制语句、字符串处理、数组、面向对象、图形界面设计、输入/输出、处理异常、网络编程、数据库及Java Web基础JSP和Servlet。最后通过一个大型项目——教务管理系统贯穿所有学习知识点,让读者更好地体会Java语言编程开发。《从零开始学Java(第2版)》运用大量示例,让读者在实战中体会编程的快乐。

目录

第一篇 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、staticfinal 关键字······· 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 文本编辑组件JEditorPaneJTextPane················· 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.2FileInputStream 类与FileOutputStream类······· 188

15.2.3BufferedInputStream 类与BufferedOutputStream类···· 189

15.3 字符流································· 190

15.3.1 Reader 类和Writer 类···· 190

15.3.2 FileReader 类和FileWriter 类················· 191

15.3.3BufferedReader 类和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.1URL···························· 210

17.3.2 符语法························· 211

17.3.3URLConnection 类········ 211

17.4 TCP 的网络编程················· 212

17.4.1Socket·························· 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.2DefaultComboBoxModel创建JComboBox ·········· 231

19.2 JList 组件创建数据库应用程序····································· 232

19.2.1DefaultListModel 创建JList ·············· 232

19.2.2 ListModel 创建JList ······ 233

19.3 JTable 组件创建数据库应用程序····································· 234

19.3.1 JTable 相关的类············ 234

19.3.2DefaultTableModel 创建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.6GetServletConfig()方法···· 258

21.2.7GetServletInfo()方法······ 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

更多

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

从零开始学Java
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    亲爱的云图用户,
    光盘内的文件都可以直接点击浏览哦

    无需下载,在线查阅资料!

    loading icon