新書推薦:
《
推拿纲目
》
售價:HK$
403.2
《
精致考古--山东大学实验室考古项目论文集(一)
》
售價:HK$
244.2
《
从天下到世界——国际法与晚清中国的主权意识
》
售價:HK$
76.2
《
血色帝国:近代英国社会与美洲移民
》
售價:HK$
58.2
《
海外中国研究·王羲之:六朝贵族的世界(艺术系列)
》
售價:HK$
178.1
《
唐宋绘画史 全彩插图版
》
售價:HK$
98.6
《
海洋、岛屿和革命:当南方遭遇帝国(文明的另一种声音)
》
售價:HK$
106.4
《
铝合金先进成型技术
》
售價:HK$
266.6
|
編輯推薦: |
1.立足新工科和工程教育,从实践者视角组织知识点 2. 注重核心知识,不追求大而全 3. 遵循*实践,强调惯例和约定的重要性 4. 深入浅出,在快速入门和参考指南之间合理平衡
|
內容簡介: |
本书立足于新工科和工程教育,从工程应用和实践者的视角,全面系统地介绍了目前在工业界中使用*为广泛的JDK 8的全部核心知识。全书共17章,主要内容包括Java概述、Java基本类型与运算符、程序流程控制、数组、类与对象、抽象类、接口与嵌套类、GUI编程、Swing高级组件、异常与处理、I ?MO流与文件、多线程与并发、容器框架与泛型、字符串与正则表达式、反射与注解。 本书适合可作为普通高等院校、高职院校计算机及相关专业的教学用书,也可作为Java爱好者、程序开发人员的参考用书。
|
關於作者: |
胡平,安徽工程大学副教授,主要研究方向分布式计算与软件体系结构、机器学习与数据挖掘,主编:Java程序设计原理与范例(普通高等教育十二五规划教材),电子工业出版社;副主编:Java EE开发技术与案例教程(普通高等教育十二五规划教材),人民邮电出版社
|
目錄:
|
第 1章 Java概述 1
1.1 JAVA语言的诞生及发展 1
1.1.1 诞生 1
1.1.2 发展历程 1
1.2 JAVA的特点及地位 2
1.2.1 特点 2
1.2.2 在主流编程语言中的地位 4
1.3 JAVA平台及版本 4
1.3.1 JRE组成 5
1.3.2 版本划分 5
1.3.3 Java程序的种类 6
1.4 JDK安装及环境配置 6
1.4.1 本书为何基于JDK 8 7
1.4.2 JDK下载与安装 7
1.4.3 JDK的目录结构 9
1.4.4 配置环境变量 9
1.5 第 一个JAVA程序 11
1.5.1 编辑源文件 12
1.5.2 编译源文件 13
1.5.3 运行类文件 13
1.6 程序错误与调试 14
1.6.1 语法错误 14
1.6.2 运行时错误 15
1.6.3 逻辑错误 15
1.6.4 程序调试 15
习题 16
第 2章 基本类型与运算符 17
2.1 标识符 17
2.1.1 关键字和保留字 17
2.1.2 用户标识符 18
2.1.3 命名惯例和约定 19
2.2 变量与常量 19
2.2.1 变量 19
2.2.2 常量 20
2.3 整型 20
2.3.1 整型常量 20
2.3.2 整型变量 21
2.4 浮点型 21
2.4.1 浮点型常量 22
2.4.2 浮点型变量 23
2.5 字符型 23
2.5.1 Unicode概述 23
2.5.2 字符型常量 24
2.5.3 字符型变量 25
2.6 布尔型 26
2.7 类型转换 26
2.7.1 自动转换 26
2.7.2 强制转换 27
2.8 基本类型的包装类 28
2.8.1 包装类 28
2.8.2 包装类的主要方法 28
2.8.3 自动装箱和拆箱 29
2.9 运算符与表达式 30
2.9.1 赋值运算符 31
2.9.2 算术运算符 31
2.9.3 关系运算符 33
2.9.4 条件运算符 34
2.9.5 逻辑运算符 34
2.9.6 位运算符 35
2.9.7 表达式 37
习题 37
第3章 程序流程控制 39
3.1 语句及语句块 39
3.2 分支结构 40
3.2.1 if语句 40
3.2.2 if-else语句 41
3.2.3 if及if-else的嵌套 41
3.2.4 switch语句 42
3.3 循环结构 45
3.3.1 while语句 45
3.3.2 do-while语句 46
3.3.3 for语句 47
3.3.4 break与continue语句 48
3.3.5 循环的嵌套 49
3.3.6 带标号的break与continue语句 51
3.4 案例实践1:简单人机交互 52
习题 53
第4章 数组 55
4.1 一维数组 55
4.1.1 声明一维数组 55
4.1.2 创建一维数组 55
4.1.3 访问一维数组 56
4.1.4 增强型for循环 58
4.1.5 命令行参数 58
4.2 案例实践2:约瑟夫环问题 59
4.3 二维数组 60
4.3.1 声明和创建二维数组 60
4.3.2 二维数组的存储结构 61
4.3.3 访问二维数组 61
4.4 案例实践3:K-MEANS聚类 63
习题 65
第5章 类与对象 67
5.1 面向对象概述 67
5.1.1 产生背景 67
5.1.2 相关概念 68
5.1.3 基本特性 69
5.2 类 70
5.2.1 类的定义格式 70
5.2.2 变量的作用域 72
5.3 方法 73
5.3.1 方法定义 73
5.3.2 return语句 73
5.3.3 方法调用 74
5.3.4 方法重载 75
5.3.5 构造方法 76
5.3.6 this关键字 78
5.3.7 变长参数方法 79
5.3.8 native方法 80
5.4 包 83
5.4.1 包的概念 83
5.4.2 package语句 83
5.4.3 import语句 84
5.5 常用修饰符 85
5.5.1 访问权限修饰符 85
5.5.2 final和static 86
5.6 案例实践4:单例模式 88
5.7 对象 89
5.7.1 对象的初始化 89
5.7.2 对象的引用 90
5.7.3 栈和堆 90
5.7.4 参数传递 91
5.7.5 垃圾回收 92
5.8 类的继承 94
5.8.1 继承的语法与图形化表示 94
5.8.2 super关键字 95
5.8.3 构造方法的调用顺序 95
5.8.4 方法重写与运行时多态 96
5.8.5 对象造型与instanceof 98
5.8.6 根类Object 99
5.8.7 对象的等价性 100
5.9 枚举 101
5.9.1 定义枚举类型 101
5.9.2 带构造方法的枚举 102
5.10 案例实践5:简单工厂模式 103
习题 104
第6章 抽象类、接口与嵌套类 107
6.1 抽象类 107
6.1.1 抽象方法 107
6.1.2 抽象类 107
6.2 接口 108
6.2.1 声明接口 108
6.2.2 接口继承接口 109
6.2.3 类实现接口 109
6.2.4 含默认方法的接口 112
6.3 抽象类与接口的比较 113
6.3.1 从语法层面 113
6.3.2 从设计层面 114
6.4 案例实践6:适配器模式 115
6.5 嵌套类 116
6.5.1 静态嵌套类 117
6.5.2 内部类 118
6.5.3 局部内部类 119
6.5.4 匿名内部类 119
6.6 函数式接口与LAMBDA表达式 121
6.6.1 函数式接口 121
6.6.2 Lambda表达式 122
6.6.3 方法引用 125
习题 126
第7章 GUI编程 129
7.1 概述 129
7.1.1 AWT 129
7.1.2 Swing 129
7.1.3 SWT 130
7.2 SWING库的架构 131
7.2.1 组件类的继承关系 131
7.2.2 java.awt.Component 132
7.2.3 java.awt.Container 132
7.2.4 java.awt.Window 133
7.2.5 java.awt.Frame 133
7.2.6 JComponent 134
7.3 容器组件 134
7.3.1 窗口:JFrame 134
7.3.2 面板:JPanel 135
7.3.3 可滚动面板:JScrollPane 136
7.3.4 分割面板:JSplitPane 137
7.3.5 分页面板:JTabbedPane 139
7.4 标签和图片 140
7.4.1 标签:JLabel 140
7.4.2 图标图片:IconImageIcon 141
7.5 按钮和工具提示 142
7.5.1 常规按钮:JButton 142
7.5.2 开关按钮:JToggleButton 144
7.5.3 单选按钮:JRadioButton 145
7.5.4 复选按钮:JCheckBox 146
7.6 文本组件 146
7.6.1 文本框:JTextField 146
7.6.2 密码框:JPasswordField 148
7.6.3 文本区:JTextArea 149
7.7 可调节组件 149
7.7.1 进度条:JProgressBar 150
7.7.2 滚动条:JScrollBar 151
7.7.3 滑块条:JSlider 152
7.8 菜单和工具栏 153
7.8.1 菜单相关组件:JMenuBarJMenuJMenuItem 153
7.8.2 弹出菜单:JPopupMenu 155
7.8.3 工具栏:JToolBar 155
7.9 颜色和字体 156
7.9.1 颜色:java.awt.Color 156
7.9.2 字体:java.awt.Font 157
7.10 布局管理 158
7.10.1 布局管理器:LayoutManager 159
7.10.2 流式布局:FlowLayout 159
7.10.3 边界布局:BorderLayout 160
7.10.4 网格布局:GridLayout 161
7.10.5 网格包布局:GridBagLayout 161
7.10.6 空布局:绝对定位 163
7.10.7 可视化GUI设计器 164
7.11 案例实践7:仿QQ聊天窗口 164
7.12 事件处理 166
7.12.1 事件处理模型 167
7.12.2 事件监听器类的编写方式 168
7.12.3 常用事件类 171
7.12.4 常用事件监听器接口 171
习题 172
第8章 SWING高级组件 173
8.1 对话框 173
8.1.1 基本对话框:JDialog 173
8.1.2 文件选择器:JFileChooser 174
8.1.3 选项面板:JOptionPane 176
8.2 列表和下拉列表 178
8.2.1 MVC模式 178
8.2.2 列表:JList 178
8.2.3 下拉列表:JComboBox 180
8.3 表格和树 182
8.3.1 表格:JTable 182
8.3.2 树:JTree 186
8.4 其他高级组件 190
8.4.1 微调按钮:JSpinner 190
8.4.2 内部窗口:JInternalFrame 191
习题 192
第9章 异常与处理 194
9.1 异常的概念和分类 194
9.1.1 异常的概念 194
9.1.2 异常的分类 195
9.2 异常处理及语法 196
9.2.1 异常的产生及处理 196
9.2.2 throw语句及throws子句 197
9.2.3 try-catch 199
9.2.4 finally 201
9.2.5 try-catch-finally的嵌套 202
9.2.6 try-with-resources 203
9.3 异常类的主要方法 206
9.3.1 Throwable类的方法 206
9.3.2 Exception类的构造方法 206
9.4 自定义异常类 207
9.5 案例实践8:用户登录 208
习题 210
第 10章 IO流与文件 211
10.1 概述 211
10.1.1 IO与流 211
10.1.2 流的分类 211
10.2 字节流 212
10.2.1 字节输入流:InputStream 212
10.2.2 字节输出流:OutputStream 212
10.3 字符流 213
10.3.1 字符输入流:Reader 213
10.3.2 字符输出流:Writer 213
10.4 文件流 214
10.4.1 File类 214
10.4.2 字节文件流:FileInputStream和FileOutputStream 215
10.4.3 字符文件流:FileReader和FileWriter 216
10.5 案例实践9:文件复制器 216
10.6 缓冲流 218
10.6.1 字节缓冲流:BufferedInputStream和BufferedOutputStream 218
10.6.2 字符缓冲流:BufferedReader和BufferedWriter 220
10.7 转换流 221
10.8 打印流 222
10.9 数据流 224
10.10 对象流 226
10.11 案例实践10:程序快照机 227
10.12 其他常用IO类 228
10.12.1 读入器:Scanner 228
10.12.2 控制台:Console 230
习题 231
第 11章 多线程与并发 233
11.1 概述 233
11.1.1 程序、进程与线程 233
11.1.2 多任务与多线程 233
11.1.3 线程状态及调度 234
11.1.4 Thread类与Runnable接口 235
11.2 线程状态控制 236
11.2.1 start方法 236
11.2.2 sleep方法 237
11.2.3 join方法 237
11.2.4 yield方法 238
11.2.5 interrupt方法 239
11.3 案例实践11:数字秒表 240
11.4 并发控制 241
11.4.1 同步与异步 241
11.4.2 synchronized关键字 243
11.4.3 wait、notify和notifyAll方法 244
11.5 案例实践12:生产者与消费者问题 244
习题 245
第 12章 容器框架与泛型 247
12.1 核心接口 247
12.1.1 容器根接口:Collection 247
12.1.2 集合接口:Set 248
12.1.3 列表接口:List 248
12.1.4 队列接口:Queue 248
12.1.5 映射接口:Map 249
12.1.6 遍历容器 249
12.2 常用集合类 252
12.2.1 哈希集合:HashSet和LinkedHashSet 252
12.2.2 树形集合:TreeSet 254
12.3 案例实践13:产品排序 254
12.4 常用列表类 256
12.4.1 顺序列表:ArrayList 256
12.4.2 链式列表:LinkedList 258
12.5 常用映射类 259
12.5.1 哈希映射:HashMap和LinkedHashMap 259
12.5.2 树形映射:TreeMap 261
12.6 遗留容器类 261
12.6.1 向量:Vector 261
12.6.2 哈希表:Hashtable 262
12.7 容器工具类 262
12.7.1 Collections 263
12.7.2 Arrays 263
12.8 泛型 264
12.8.1 为什么需要泛型 264
12.8.2 泛型基础 265
12.8.3 泛型不是协变的 265
12.8.4 类型通配符 266
12.8.5 有界泛型 267
12.8.6 泛型方法 267
习题 268
第 13章 字符串与正则表达式 269
13.1 STRING类 269
13.1.1 字符串是对象 269
13.1.2 字符串对象的等价性 270
13.1.3 常用API 270
13.2 字符串格式化 272
13.2.1 Formatter类 272
13.2.2 格式说明与修饰符 273
13.3 案例实践14:简单文本搜索器 277
13.4 STRINGBUFFER类 278
13.4.1 可变与不可变 278
13.4.2 StringBuffer类 279
13.5 正则表达式 279
13.5.1 概述 279
13.5.2 Pattern类 279
13.5.3 Matcher类 280
13.5.4 正则表达式语法 281
13.6 案例实践15:用户注册校验 282
习题 284
第 14章 反射与注解 285
14.1 类型信息 285
14.1.1 Class类 285
14.1.2 获得Class对象 286
14.2 成员信息 289
14.2.1 Member接口 289
14.2.2 Field类 289
14.2.3 Method类 290
14.2.4 Constructor类 291
14.3 注解 293
14.3.1 注解的定义与使用 293
14.3.2 访问注解信息 294
14.4 标准注解 295
14.4.1 @Override 295
14.4.2 @Deprecated 296
14.4.3 @SuppressWarnings 297
14.5 文档注解及API文档生成 299
14.5.1 文档注解 299
14.5.2 生成API文档 301
14.6 元注解 301
14.6.1 @Target 301
14.6.2 @Retention 302
14.6.3 @Documented 303
14.6.4 @Inherited 303
14.7 案例实践16:简易单元测试工具 304
习题 306
附录A ECLIPSE使用简介 307
附录B 查阅API文档和源码 313
附录C JAVA编程规范与最佳实践 316
附录D JAVA全栈工程师学习路线 323
|
|