新書推薦:
《
汗青堂丛书138·帝国的切口:近代中国口岸的冲突与交流(1832-1914)
》
售價:HK$
127.4
《
人世事,几完缺 —— 啊,晚明
》
售價:HK$
115.6
《
樊树志作品:重写明晚史系列(全6册 崇祯传+江南市镇的早期城市化+明史十二讲+图文中国史+万历传+国史十六讲修订版)
》
售價:HK$
498.0
《
真谛全集(共6册)
》
售價:HK$
1156.4
《
敦煌通史:魏晋北朝卷
》
售價:HK$
162.3
《
唯美手编16:知性优雅的编织
》
售價:HK$
54.9
《
情绪的惊人力量:跟随内心的指引,掌控情绪,做心想事成的自己
》
售價:HK$
50.4
《
棉的全球史(历史·文化经典译丛)
》
售價:HK$
109.8
|
編輯推薦: |
本书从Java的起源和发展、Java的基本语法、Java中面向对象的编程、异常和断言、集合框架和泛型、输入输出和序列化、GUI编程、JDBC数据库连接、多线程、Socket网络编程等等都作了深入讲解,并用大量完整的程序案例来辅助阐述说明。本书所涵盖的这些知识点也是Oracle甲骨文公司 OCJP Java认证所要考察的知识点。
|
內容簡介: |
内 容 简 介 Java是目前世界***的高级编程语言之一。自诞生以来,Java迅速成为开发互联网应用程序**的编程语言。本书针对普通高等院校计算机专业Java相关课程的教学要求而编写,对Java的起源、特性、开发环境、Java的基础语法、面向对象编程、异常和异常处理、字符串、集合框架和泛型、输入输出和序列化、GUI图形用户界面、JDBC数据库编程、多线程、网络编程等Java基础知识都作了深入讲解,还采用了大量完整的程序案例来辅助说明。 本书涵盖了Oracle公司的Oracle Certificated Java Programmer(OCJP)认证要考核的基本知识点。本书既可作为普通高等院校计算机本科专业的Java教材,也可作为OCJP认证考试的辅导用书。
|
目錄:
|
第1章 Java概述 1
1.1 Java的发展简介 1
1.2 Java的特点 2
1.3 开发工具包JDK及其配置 4
1.4 编写简单的Java程序 6
1.4.1 一个最简单的Java程序 6
1.4.2 编译和运行Java程序 7
1.5 Eclipse的使用 9
总结 11
第2章 Java基础语法 12
2.1 标识符 12
2.1.1 标识符定义 12
2.1.2 标识符构成规则 13
2.1.3 标识符命名约定 13
2.1.4 分隔符 14
2.2 关键字 14
2.3 数据类型、变量与常量 15
2.3.1 数据类型 15
2.3.2 基本数据类型 15
2.3.3 引用数据类型 16
2.3.4 类型转换 16
2.3.5 常量 18
2.3.6 变量 20
2.4 运算符与表达式 21
2.4.1 算术运算符 22
2.4.2 关系运算符 23
2.4.3 逻辑运算符 24
2.4.4 表达式和运算符优先级别 24
2.5 流程控制 25
2.5.1 条件选择语句 25
2.5.2 switch…case多分支语句 29
2.5.3 循环控制语句 31
2.6 数组 38
2.6.1 数组的概念、特征与分类 38
2.6.2 一维数组 38
2.6.3 二维数组和多维数组 43
2.6.4 foreach循环与数组 47
2.7 其他基础语法 49
2.7.1 命令行参数 49
2.7.2 控制台的输入操作 51
2.7.3 Lambda表达式 53
总结 55
第3章 面向对象的实现 56
3.1 类与对象 56
3.1.1 类与对象的概念 57
3.1.2 类的成员 60
3.1.3 类的声明和使用 69
3.1.4 类的初始化与垃圾回收 76
3.1.5 this关键字 83
3.2 封装 85
3.2.1 封装与包 85
3.2.2 访问控制 87
3.2.3 封装的应用 90
3.3 继承与多态 92
3.3.1 继承的概念 92
3.3.2 继承的实现:父类与子类 93
3.3.3 继承中的初始化与收尾 96
3.3.4 继承中成员的访问和继承的根类 102
3.3.5 多态性的概念 104
3.3.6 方法重载 105
3.3.7 方法重定义 109
3.3.8 static关键字 113
3.3.9 final关键字 119
3.3.10 abstract关键字 124
3.4 接口 126
3.4.1 接口的定义 127
3.4.2 接口的实现 129
3.4.3 接口的引用 132
3.4.4 接口的继承 133
3.5 嵌套类 135
3.5.1 成员类 135
3.5.2 局部类 138
3.5.3 匿名类 138
3.6 枚举 139
3.7 反射 142
3.7.1 反射机制的概念 142
3.7.2 反射机制的使用 144
3.8 注解 146
3.8.1 注解概念及作用 146
3.8.2 注解的使用 147
总结 150
第4章 异常和断言 153
4.1 异常 153
4.2 异常处理 155
4.2.1 try…catch块 155
4.2.2 finally块 157
4.2.3 多重catch块 159
4.2.4 嵌套try…catch块 163
4.2.5 使用throw显式引发异常 164
4.2.6 使用throws回避异常 165
4.3 用户自定义异常 167
4.4 检验异常和非检验异常 168
4.5 断言 170
总结 172
第5章 java.lang包和字符串 174
5.1 Object类 174
5.2 包装类 177
5.2.1 数值类型包装类 178
5.2.2 Boolean类 179
5.2.3 Character类 179
5.2.4 自动装箱和拆箱 181
5.3 Math类 181
5.4 System类 182
5.5 字符串 183
5.5.1 String类 184
5.5.2 StringBuffer类 189
总结 191
第6章 集合框架和泛型 192
6.1 日期与时间类 192
6.1.1 Date类 192
6.1.2 日历类Calendar 193
6.2 随机数类Random 196
6.3 集合框架 197
6.3.1 Collection接口 198
6.3.2 Iterator接口 199
6.3.3 List接口 199
6.3.4 向量类Vector 200
6.3.5 数组列表类ArrayList 202
6.3.6 链表类LinkedList 203
6.3.7 Set接口 203
6.3.8 HashSet类 203
6.3.9 TreeSet类 205
6.3.10 Map接口 205
6.3.11 HashMap 206
6.3.12 Hashtable 207
6.3.13 TreeMap 207
6.3.14 Collections类 208
6.3.15 Arrays类 210
6.4 类型安全问题 211
6.5 什么是泛型 212
6.6 泛型 213
6.6.1 泛型类 213
6.6.2 泛型方法 215
6.6.3 泛型接口 217
6.7 受限类型参数 220
6.8 类型通配符 221
6.8.1 泛型中的子类型 221
6.8.2 类型通配符? 221
6.8.3 有限制的通配符 222
总结 226
第7章 输入输出和序列化 228
7.1 File类 228
7.1.1 File类构造方法 229
7.1.2 File类常用方法 229
7.2 流 231
7.2.1 流的概念 231
7.2.2 字节流 232
7.2.3 字符流 232
7.3 使用字节流进行文件读/写 233
7.3.1 InputStream和OutputStream类 233
7.3.2 FileInputStream和FileOutputStream类 236
7.4 使用字符流进行文件读/写 239
7.4.1 基类Reader类和Writer类 239
7.4.2 FileReader类和FileWriter类 242
7.4.3 InputStreamReader类和OutputStreamWriter类 244
7.4.4 BufferedReader类和BufferedWriter类 246
7.4.5 PrintWriter类 248
7.5 过滤流 250
7.5.1 FilterInputStream类和FilterOutputStream类 250
7.5.2 DataInputStream类和DataOutputStream类 251
7.5.3 BufferedInputStream和BufferedOutputStream 255
7.6 序列化和反序列化基本概念 257
7.6.1 Serializable接口 257
7.6.2 Externalizable接口 257
7.7 对象的序列化 258
7.8 对象的反序列化 259
7.9 序列化和反序列化实例操作 260
7.9.1 实现Serializable接口对象 260
7.9.2 实现Externalizable接口的对象 262
7.10 类的不同版本序列化时的兼容性问题 264
总结 264
第8章 GUI图形用户界面 266
8.1 GUI图形用户界面简介 266
8.2 Eclipse可视化设计 266
8.3 创建图形用户界面应用程序 267
8.4 AWT和Swing简介 268
8.4.1 JFrame 269
8.4.2 JPanel 270
8.4.3 JScrollPane 270
8.5 常用Swing组件 271
8.5.1 标签JLabel 271
8.5.2 文本框JTextField 272
8.5.3 文本域JTextArea 272
8.5.4 按钮JButton 273
8.5.5 组合框JComboBox 273
8.5.6 复选框JCheckBox 275
8.5.7 单选按钮JRadioButton 275
8.5.8 菜单JMenu 275
8.5.9 表格JTable 277
8.5.10 树JTree 279
8.6 布局管理器 281
8.6.1 绝对布局AbsoluteLayout 281
8.6.2 边式布局BorderLayout 281
8.6.3 流式布局FlowLayout 282
8.6.4 网格布局GridLayout 282
8.7 事件处理机制 283
8.7.1 按钮事件处理程序 284
8.7.2 键盘事件处理程序 285
8.7.3 鼠标事件处理程序 285
总结 287
第9章 JDBC数据库编程 288
简介 288
9.1 数据库访问技术简介 288
9.2 JDBC连接数据库 290
9.3 访问数据 291
9.3.1 添加数据 291
9.3.2 删除数据 293
9.3.3 修改数据 294
9.3.4 查询数据 295
9.4 显示数据 297
9.4.1 在JTable中显示数据 297
9.4.2 在JTextField中显示数据 298
9.5 使用预编译语句 300
9.6 调用存储过程 304
总结 305
第10章 多线程 307
简介 307
10.1 线程的基本概念 307
10.2 Java语言多线程的实现 308
10.2.1 扩展Thread类创建线程 309
10.2.2 实现Runnable接口创建线程 312
10.2.3 主线程 314
10.3 线程的状态及生存期 315
10.4 线程的控制 318
10.4.1 锁与线程同步 318
10.4.2 线程阻塞 325
10.4.3 优先级与线程调度 330
10.4.4 使用线程组 334
10.5 多线程的应用 336
10.5.1 使用定时器 336
10.5.2 经典同步问题 338
总结 339
第11章 网络编程 340
11.1 网络基础知识 340
11.2 网络编程API 342
11.3 URL编程 342
11.3.1 URL类 343
11.3.2 URLConnection类 345
11.4 套接字编程 347
11.4.1 InetAddress类 347
11.4.2 Socket类 348
11.4.3 ServerSocket类 350
总结 358
参考文献 359
|
內容試閱:
|
对于计算机类学科的学生而言,从实用的角度来看,Java编程是一门最接近实战的高级语言课程,Java计算平台的应用可覆盖网络应用的所有方面,例如嵌入式和移动应用、游戏、Web应用、企业软件等;从学习的角度看,除了与C语言一脉相承外,选修Java语言理由还在于它具有全球最大的开源社区,具有丰富的类库,还有跨平台性、安全性和可靠性等许多优势,使Java计算平台在各类企业级应用开发上伸展自如,成为越来越多的专业人员追捧的全球标准。根据Java官方的统计数字,目前其开发者的人数已超过1000万人。
由于应用需求的增加,Java计算平台的沿革在近几年变快了。例如,到2021年,Java SE计算平台的软件开发工具包的版本已升级到JDK17。
为了适应形势的变化,本书编写团队在2015年《Java程序设计》第1版基础上进行了整理和改编,编写了第2版,并力求突出以下特点:
(1)基于最新版本的JDK;
(2)基于最新版本的开源工具Eclipse平台教学;
(3)提供丰富的教学案例;
(4)提供配套的电子资源,包括课件、实验、课后练习等。
本书第1版出版至今已过近7年时间,编者及其团队一直在教学实践中不断完善教学方法和教学案例,此版本是对第1版的完善和总结,并使第1版表述自然、通俗易懂的特点得以继承。另外,随着近两年实训教学的扩充,丰富了教学案例。编者还对第1版部分教学内容进行了精简。根据JDK 的情况,在第2版中增加了Lambda表达式、枚举、反射、注解、断言、Date类、StringBuffer类等知识点,并增加了JDK新版本的部分新特性。
按照学院所极力倡导的“格物致知,知行合一”的导学理念,为了使学生在学习中具有更多的练习机会,本书还配套了充足的习题和丰富的实验,使其更加易学易用。
本书经过多年实际教学的实践和精炼,可以作为普通高等院校计算机类学科Java编程的本科教材,也可以作为Java编程自学教程。
北京理工大学珠海学院计算机学院院长
2022年3月
前 言
Java是一个完全面向对象的高级编程语言。从1995年问世以来逐步被IT界所接受。Java语言拥有丰富的类库,具有与平台无关、解释执行、简单安全等特点,又解决了互联网上的大型应用问题,一出现就被广泛应用于多个领域。
目前所有普通高等院校的计算机本科专业都开设了多门与Java相关的课程。很多学生虽已学过C语言,有了一定程序设计基础。但是在学习Java中仍然遇到不少困难。有些学生甚至反映Java语言难学,不如C#容易入门、较易掌握。编者在多年的Java程序设计语言的实际教学中也遇到了类似的问题,在不断地解决这些问题的过程中编者积累了一定的经验,深知对于难以理解的知识点在理论课上需要深入浅出的阐述,在实验课上要细心地引导学生,从实际动手中让学生进一步理解知识点。本书在2015年编著的《Java程序设计》第1版的基础上进行整理和修改而成,并添加JDK新版本的部分新特性。
本书仍然继续使用通俗易懂的风格来阐述Java知识,并用大量完整的案例来辅助说明这些知识点。全书共11章,包括Java概述、Java基础语法、面向对象的实现、异常和断言、java.lang包和字符串、集合框架和泛型、输入输出和序列化、GUI图形用户界面、JDBC数据库编程、多线程、网络编程等知识。在编写中,尽量保证Java知识体系的完整性,也尽量考虑到Java教学中的逻辑顺序。为了让教师和学生更好地使用本书,本书配套了丰富的教学资源(请发送邮件到zhao_zj@bitzh.edu.com与编者联系)。
本书由赵卓君主编,参与本书编写的人员还有代俊雅、魏志军、夏力前和姜斌均来自北京理工大学珠海学院计算机学院。赵卓君负责本书前言、第1章、第4章、第8章、第9章的编写;姜斌负责第2章、第11章的编写;夏力前负责第3章、第10章的编写;代俊雅负责第5章、第6章的编写;魏志军负责第7章的编写。本书的整合和校对工作由赵卓君完成。
参与本书编写的老师平时都有繁重的教学和科研任务,但仍然坚持完成本书的编写。在这里向所有参与编写的老师表示衷心的感谢。没有大家的努力,就没有这本书。另外,在编写过程中也获得很多其他老师的帮助和支持,尤其是北京理工大学珠海学院计算机学院院长路良刚博士的大力支持。路良刚院长还参与本书的审核,给予了很多宝贵的建议,并亲自为本书再次撰序。在这里特别鸣谢路良刚院长。
尽管编者已经尽了最大的努力,但仍然难免有错误和疏漏之处,恳请所有读者不吝指出,以便我们修改。再次感谢所有读者的鼓励和支持。
编 者
2022年3月
|
|