新書推薦:
《
西班牙内战:秩序崩溃与激荡的世界格局:1936-1939
》
售價:NT$
990.0
《
基于鲲鹏的分布式图分析算法实战
》
售價:NT$
495.0
《
夺回大脑 如何靠自己走出强迫
》
售價:NT$
299.0
《
图解机械工程入门
》
售價:NT$
440.0
《
中文版SOLIDWORKS 2024机械设计从入门到精通(实战案例版)
》
售價:NT$
450.0
《
旷野人生:吉姆·罗杰斯的全球投资探险
》
售價:NT$
345.0
《
希腊人(伊恩·莫里斯文明史系列)
》
售價:NT$
845.0
《
世界巨变:严复的角色(王中江著作系列)
》
售價:NT$
500.0
|
編輯推薦: |
本书包含海量资源,帮助读者0基础入门。
手机扫码观看400 分钟配套视频课程另送100小时200 节达内精品视频课程12个实训案例,帮助上岗实操100道实战练习题,边学边练院校老师可获得本书配套教学PPT在线服务和答疑,手把手学习
|
內容簡介: |
本书基于Java的长期支持版本(Java 11)系统地讲解Java的核心语法,内容全面,深入浅出,贯穿了大量实例。本书详细讲解了Java及面向对象编程基础、图形用户界面的编程方法、基础类和工具类的使用方法、泛型与集合框架、Java I/O技术、JDBC编程技术、多线程机制、网络编程技术等实用内容。本书强调理论与应用相结合,自第2章开始,每章的后一节均为编程实训,应用该章涉及的内容完成相应的实训案例。第2~3章逐步完成气泡案例,第4~13章逐步完成飞机大战案例。
本书适合计算机相关专业的本科生、专科生,以及计算机初学者阅读,既可以作为应用型本科院校和高等职业院校Java基础课程的教材,又可以作为相关领域从业者的学习和参考用书。
|
關於作者: |
本书由达内时代科技集团和吉林工商学院的各位专家教授联合编著。达内时代科技集团是国内知名的互联网-IT教育培训单位,是一站式互联网人才基地,专注IT职业教育人才服务多年,拥有300多家培训中心,帮助学员实现一地学习全国就业。是一所以本科教育为主、专科教育为辅的财经性应用型本科院校,入选吉林省首批应用型试点本科院校,具备联合培养硕士研究生资格。
|
目錄:
|
目 录
第 1 章 Java 语言概述 1
1.1 Java 的发展历程 1
1.2 Java 的特点 2
1.3 Java 技术三大平台 4
1.3.1 Java SE 5
1.3.2 Java EE 5
1.3.3 Java ME 5
1.4 Java 虚拟机 5
1.5 Java 开发环境的构建 6
1.5.1 选择合适的 JDK 版本 6
1.5.2 下载和安装 JDK 7
1.5.3 IntelliJ IDEA 开发工具 12
1.6 个 Java 程序 14
1.6.1 使用文本编辑工具实现 15
1.6.2 使用 IntelliJ IDEA 实现 16
本章小结 19
习题 19
第 2 章 Java 语言基础 22
2.1 标识符、关键字和保留字 22
2.1.1 标识符 22
2.1.2 关键字和保留字 23
2.2 变量 24
2.3 基本数据类型 26
2.3.1 数据类型的分类 26
2.3.2 整数类型 27
2.3.3 浮点类型 28
2.3.4 字符类型 29
2.3.5 布尔类型 30
2.3.6 数据类型转换 31
2.3.7 字符串类型 33
2.4 运算符与表达式 33
2.4.1 算术运算符与算术表达式 34
2.4.2 关系运算符与关系表达式 36
2.4.3 逻辑运算符与逻辑表达式 36
2.4.4 赋值运算符与赋值表达式 38
2.4.5 条件运算符与条件表达式 39
2.4.6 运算符的结合性和优先级 40
2.5 流程控制语句 41
2.5.1 顺序结构 41
2.5.2 分支结构 41
2.5.3 循环结构 46
2.5.4 中断和跳转 49
2.6 数组 51
2.6.1 一维数组 52
2.6.2 二维数组 56
2.7 编程实训——气泡案例(随机 控制气泡) 58
本章小结 64
习题 64
第 3 章 面向对象编程基础 68
3.1 面向对象编程的思想 68
3.1.1 面向对象简介 69
3.1.2 面向对象的特征 69
3.1.3 类与对象的关系 70
3.2 类 70
3.2.1 定义类的语法格式 70
3.2.2 成员变量 71
3.2.3 成员方法 72
3.3 对象 74
3.3.1 创建对象 74
3.3.2 使用对象 75
3.4 引用类型与垃圾回收 76
3.4.1 引用类型与引用类型变量 76
3.4.2 垃圾回收 77
3.5 方法的重载 77
3.6 构造方法 78
3.6.1 使用构造方法 78
3.6.2 有参构造方法 79
3.6.3 默认构造器与构造器重载 80
3.6.4 关键字 this 80
3.7 实例成员与类成员 83
3.7.1 实例变量和类变量 83
3.7.2 实例方法和类方法 84
3.8 方法的参数传递机制 85
3.8.1 基本数据类型参数的传值 85
3.8.2 引用类型参数的传值 86
3.8.3 可变参数 87
3.9 包 88
3.9.1 包的定义 89
3.9.2 包的引入 89
3.9.3 常用的包 90
3.10 封装和访问控制 91
3.11 编程实训——气泡案例 (气泡吞噬) 94
本章小结 102
习题 103
第 4 章 Java GUI 编程技术 107
4.1 AWT 和 Swing 简介 107
4.1.1 AWT 概述 108
4.1.2 Swing 概述 108
4.1.3 Swing 组件的层次结构 108
4.1.4 Swing 编程的流程 109
4.2 Swing 常用的容器类组件 110
4.2.1 JFrame 类 110
4.2.2 JDialog 类 112
4.2.3 JPanel 类和JScrollPane 类 113
4.3 Swing 常用的基本组件 116
4.3.1 标签组件 117
4.3.2 按钮组件 118
4.3.3 文本组件 122
4.3.4 下拉框组件 126
4.3.5 列表框组件 127
4.3.6 菜单组件 128
4.3.7 表格组件 130
4.3.8 树组件 131
4.4 布局管理器 132
4.4.1 FlowLayout 132
4.4.2 BorderLayout 133
4.4.3 GridLayout 135
4.4.4 GridBagLayout 136
4.4.5 CardLayout 137
4.4.6 BoxLayout 137
4.4.7 空布局 138
4.5 事件处理 138
4.5.1 事件处理机制 138
4.5.2 Swing 常用事件处理 140
4.5.3 事件适配器 154
4.5.4 事件监听器的实现方式 156
4.6 编程实训——飞机大战案例 (实现游戏背景连续播放) 159
本章小结 166
习题 166
第 5 章 继承与多态 170
5.1 类的继承 170
5.1.1 子类与父类 171
5.1.2 子类的继承性 172
5.1.3 子类与对象 173
5.2 成员变量的隐藏和方法重写 174
5.3 关键字 super 176
5.4 关键字 final 180
5.5 多态 183
5.6 对象的向上类型转换 184
5.7 虚拟方法调用 187
5.8 抽象方法和抽象类 187
5.8.1 抽象方法 187
5.8.2 抽象类 188
5.8.3 面向抽象编程 189
5.9 编程实训——飞机大战案例 (实现英雄机移动) 190
本章小结 196
习题 196
第 6 章 异常机制 198
6.1 Java 的异常机制 198
6.2 Java 的异常的分类 199
6.3 异常的常用方法 200
6.4 Java 的异常的处理 202
6.4.1 产生异常的原因 202
6.4.2 捕获并处理异常 203
6.4.3 声明和抛出异常 205
6.5 自定义异常 207
6.6 断言 209
6.6.1 Java 断言的语法 210
6.6.2 在 IDEA 中开启断言 211
6.6.3 不适合使用断言的场景 213
6.7 编程实训——飞机大战案例 (添加子弹,处理游戏 Bug) 213
本章小结 220
习题 221
第 7 章 接口与实现 223
7.1 接口 223
7.2 实现接口 224
7.3 接口回调 226
7.4 接口与多态 227
7.5 类与接口 228
7.5.1 抽象类与接口 228
7.5.2 内部类 230
7.5.3 匿名类与接口 231
7.6 函数接口与 Lambda 表达式 232
7.7 面向接口编程 234
7.8 编程实训——飞机大战案例 (实现子弹消灭敌机) 234
本章小结 246
习题 246
第 8 章 基础类和工具类 248
8.1 基础类 248
8.1.1 Object 类 249
8.1.2 包装类 253
8.1.3 String 类 257
8.2 工具类 266
8.2.1 数学类 266
8.2.2 Random 类和SecureRandom 类 268
8.2.3 日期时间类 271
8.3 编程实训——飞机大战案例 (随机出现敌机, 英雄机死亡) 278
本章小结 284
习题 285
第 9 章 泛型与集合框架 287
9.1 泛型概述 287
9.1.1 泛型的定义 287
9.1.2 泛型类的定义 288
9.1.3 泛型接口的定义 291
9.1.4 泛型方法的定义 291
9.2 集合概述 292
9.2.1 集合框架的层次结构 292
9.2.2 迭代器接口 294
9.3 List 集合 295
9.3.1 List 接口 295
9.3.2 ArrayList 集合 295
9.3.3 LinkedList 集合 297
9.4 Set 集合 300
9.4.1 Set 接口 300
9.4.2 HashSet 类 300
9.4.3 TreeSet 类 304
9.5 Map 集合 307
9.5.1 Map 接口 307
9.5.2 HashMap 类 308
9.5.3 TreeMap 类 311
9.6 遍历集合的方法 313
9.7 集合转换 314
9.8 集合工具类 316
9.8.1 Collections 工具类 316
9.8.2 Arrays 工具类 318
9.9 开发过程中如何选择集合 实现类 320
9.10 编程实训——飞机大战案例 (添加奖励机,显示战绩) 320
本章小结 328
习题 328
第 10 章 Java I/O 技术 332
10.1 文件操作类:File 类 332
10.1.1 File 类常用的方法 332
10.1.2 遍历目录下的文件 336
10.1.3 删除文件及目录 337
10.1.4 运行可执行文件 339
10.2 输入/输出流概述 340
10.2.1 输入/输出流的原理 340
10.2.2 输入/输出流的分类 341
10.3 字节流 344
10.3.1 InputStream 抽象类 344
10.3.2 OutputStream 抽象类 345
10.3.3 FileInputStream 类和 FileOutputStream 类 345
10.3.4 BufferedInputStream 类和 BufferedOutputStream 类 348
10.3.5 DataInputStream 类和 DataOutputStream 类 351
10.3.6 对象流和序列化 353
10.4 字符流 355
10.4.1 Reader 类和 Writer 类 355
10.4.2 InputStreamReader 类和 OutputStreamWriter 类 356
10.4.3 FileReader 类和 FileWriter 类 358
10.4.4 BufferedReader 类和 BufferedWriter 类 359
10.5 RandomAccessFile 类 361
10.6 PrintStream 类和 PrintWriter 类 363
10.7 数组流 365
10.8 文件锁 367
10.9 编程实训——飞机大战案例 (显示得分) 369
本章小结 374
习题 374
第 11 章 JDBC 编程技术 378
11.1 数据库和数据库管理工具 378
11.1.1 数据库的基础知识 378
11.1.2 数据库管理工具 379
11.1.3 SQL 语句的基础知识 380
11.2 JDBC 编程规范 383
11.2.1 JDBC 概述 384
11.2.2 JDBC 的编程步骤 384
11.2.3 JDBC 常用 API 393
11.3 预编译机制 397
11.3.1 预编译语句概述 397
11.3.2 预编译语句的使用 398
11.3.3 SQL 注入的原理与预防 404
11.4 编程实训——飞机大战案例 (游戏数据存入数据库中) 405
本章小结 411
习题 412
第 12 章 Java 多线程机制 413
12.1 线程的定义 413
12.1.1 进程 413
12.1.2 线程 414
12.2 线程的创建 415
12.2.1 Java 主线程 415
12.2.2 创建线程——继承 Thread 类 416
12.2.3 创建线程——实现 Runnable 接口 418
12.2.4 创建线程——Callable接口和 Future 接口 420
12.2.5 创建线程的 3 种方式的对比 421
12.3 线程的状态控制 422
12.3.1 线程的生命周期 422
12.3.2 线程的状态转换 423
12.3.3 线程的操作 423
12.3.4 线程的优先级 429
12.3.5 后台线程 430
12.4 线程的同步和互斥 433
12.4.1 线程安全 433
12.4.2 线程互斥 435
12.4.3 线程同步 438
12.4.4 线程通信 440
12.4.5 线程死锁 447
12.5 并发工具包 451
12.5.1 并发工具包概述 451
12.5.2 并发工具包常用的工具类和接口 452
12.6 编程实训——飞机大战案例 (添加游戏音乐) 461
本章小结 466
习题 466
第 13 章 Java 网络编程技术 468
13.1 计算机网络的基础知识 468
13.1.1 网络编程基础 468
13.1.2 TCP/IP 协议 472
13.1.3 UDP 协议 472
13.1.4 IP 地址 472
13.1.5 端口 473
13.2 Java 网络编程的地址类 473
13.2.1 Web 资源和 URL 473
13.2.2 URL 类 474
13.2.3 InetAddress 类 476
13.3 TCP Socket 编程 477
13.3.1 Java 套接字 477
13.3.2 Socket 类 478
13.3.3 ServerSocket 类 480
13.3.4 多线程 Java Socket编程 481
13.4 UDP Socket 编程 484
13.4.1 DatagramSocket API 484
13.4.2 DatagramPacket 类 485
13.5 编程实训——飞机大战案例 (设置服务器端及客户端) 487
本章小结 493
习题 493
|
內容試閱:
|
前 言
Java 是应用广泛的面向对象的程序设计语言之一,初由 James Gosling 开发,并于 1995年 5 月作为 Sun 公司 Java 平台的核心组件发布。受 C 的启发,Java 不仅吸收了 C 的各种优点,还摒弃了 C 中难以理解的多重继承、指针等概念。因此,Java 具有功能强大和易学易用的特点。与 C 不同的是,Java 是完全面向对象的语言,支持抽象、封装、继承和多态等面向对象的全部概念,开发者能够以更优雅的方式开发出系统稳定性好、可重用性和可维护性佳的应用程序。Java 具有平台独立性等特点,通过编译器将 Java 源代码文件编译成字节码文件,该字节码文件可以在任意平台上运行,如 Windows、Linux 和 macOS 等。平台独立性使 Java 能够实现“一次编译,随处运行”(Write Once,Run Anywhere),提高了 Java 程序的可移植性。
目前,Java 开发生态已经非常成熟,拥有庞大的用户群体和开源社区,在互联网、大数据、云计算和物联网等诸多领域都有大量应用。全球使用 Java 的开发者已经有数千万人。
JetBrains 公司公布的 2021 年的统计数据显示,在中国大约有 47%的开发者使用 Java。
目前,市面上关于 Java 的书籍非常多,但是真正适合初学者学习的并不多。为此,达内时代科技集团将以往与 Java 相关的项目经验、产品应用和技术知识整理成册,并真正联合高等院校的一线授课老师编写适合初学者学习的知识内容与项目案例,达到通过本书来总结和分享 Java 领域实践成果的目的。本书从初学者的角度出发,循序渐进地讲解使用 Java 开发应用项目时应该掌握的各项技术。
本书内容
本书围绕 Java 展开介绍,在内容编排上由浅入深。
? 第 1 章:Java 语言概述。首先介绍了 Java 的发展历程和特点,然后介绍了 Java 技术三大平台和 Java 虚拟机,后从零开始构建 Java 开发环境。
? 第 2 章:Java 语言基础。本章介绍了 Java 的标识符、关键字、保留字、变量、基本数据类型、运算符、表达式、流程控制语句及数组等内容。
? 第 3 章:面向对象编程基础。本章介绍了面向对象编程的思想、类、对象、方法的重载、实例成员与类成员、方法的参数传递机制、包,以及封装和访问控制等内容。
? 第 4 章:Java GUI 编程技术。本章介绍了 AWT 和 Swing、Swing 常用的容器类组件、Swing常用的基本组件、布局管理器,以及事件处理等内容。
? 第 5 章:继承与多态。本章介绍了类的继承、成员变量的隐藏和方法重写、关键字 super、关键字 final、多态、对象的向上类型转换、虚拟方法调用,以及抽象方法和抽象类等内容。
? 第 6 章:异常机制。本章介绍了 Java 的异常机制、异常的分类、异常的处理、自定义异常和断言等内容。
? 第 7 章:接口与实现。本章介绍了接口、实现接口、接口回调、接口与多态、类与接口、函数接口与 Lambda 表达式,以及面向接口编程等内容。
? 第 8 章:基础类和工具类。本章介绍了基础类和工具类等内容。基础类包括 Object 类、包装类和 String 类,工具类包括数学类、Random 类、SecureRandom 类和日期时间类。
? 第 9 章:泛型与集合框架。本章介绍了泛型、List 集合、Set 集合、Map 集合、遍历集合的方法、集合转换、集合工具类,以及开发中如何选择集合实现类等内容。
? 第 10 章:Java I/O 技术。本章介绍了文件操作类、输入/输出流、字节流、字符流、RandomAccessFile 类、PrintStream 类和 PrintWriter 类、数组流、文件锁等内容。
? 第 11 章:JDBC 编程技术。本章介绍了数据库和数据库管理工具、JDBC 编程规范,以及预处理机制等内容。
? 第 12 章:Java 多线程机制。本章介绍了线程的定义、线程的创建、线程的状态控制、线程的同步和互斥,以及并发工具包等内容。
? 第 13 章:Java 网络编程技术。本章介绍了计算机网络的基础知识、Java 网络编程的地址类、TCP Socket 编程,以及 UDP Socket 编程等内容。
本书中的理论知识与实践的重点和难点部分均采用微视频的方式进行讲解,读者可以通过扫描每章中的二维码观看视频、查看习题的答案。
另外,想要获取更多的视频等数字化教学资源及动态,读者可以关注微信公众号,或者添加小书童获取资料与答疑等。
致谢
本书是达内时代科技集团与吉林工商学院通力合作的结果。全书由韩少云、冯华和刁景涛策划、组织及统稿,参与本书编写工作的有陈天竺、徐理想,以及院校老师刘磊、王科飞等,他们对相关章节材料的组织与选编做了大量细致的工作,在此对各位编者的辛勤付出表示由衷的感谢。
感谢电子工业出版社的老师们对本书的重视,他们一丝不苟的工作态度保证了本书的质量。
为读者呈现准确、翔实的内容是编者的初衷,但由于编者水平有限,书中难免存在不足之处,敬请广大读者批评指正。
编 者
2022 年 12 月
|
|