新書推薦:

《
白魔之塔(民俗推理大师三津田信三悬疑新作)
》
售價:HK$
49.5

《
5秒法则:重拾改变生活的勇气
》
售價:HK$
63.8

《
睡虎地秦简普及本
》
售價:HK$
327.8

《
资本的全球化:近代上海外商证券市场兴衰史(1843-1941)
》
售價:HK$
107.8

《
纯粹理性批判 德国哲学家康德代表作 西方哲学史的里程碑著作 著名翻译家蓝公武经典译本
》
售價:HK$
138.6

《
惨痛的胜利:第一次世界大战中法国的战略和作战行动
》
售價:HK$
184.8

《
机器时代:技术如何改变我们的工作和生活
》
售價:HK$
63.8

《
地缘政治与战争:中国历史变局3000年
》
售價:HK$
85.8
|
| 編輯推薦: |
|
《零基础案例学Java——编程实践365例》是一本人人都能看懂、学会的Java编程实践书,为希望在人工智能浪潮中打下坚实编程基础的读者而写。本书特色如下。(1)从零开始,循序渐进。从Java基础到Java核心技术,在做中学,每一步都有代码可练,零基础读者也能快速、无压力上手。(2)案例驱动,实战演练。不讲过多、过深的理论知识,采用“知识讲解→范例导学→编程实战→综合实战”的学习路线,全书共175个范例导学+337个编程实战+18个综合实战(3)赠源码+同步教学微课。附赠全书程序源代码,以及一个完整的开发项目。附赠110集教学视频,总时长14小时,全面、细致的同步视频讲解,保姆级教程,确保学会。(4)AIGC高效编程。附赠“AI学Java教学视频18集”,辅助AI编程,让你的代码高效跑起来。(5)教学资源。本书配套有教学大纲、PPT课件等教学资源。
|
| 內容簡介: |
|
《零基础案例学Java——编程实践365例》为希望在人工智能浪潮中打下坚实编程基础的读者而写。书中以“案例驱动+实战演练”为核心,将抽象的编程概念转化为一个个生动、实用的实战案例,帮助读者深入理解Java开发的精髓。本书全面覆盖Java开发岗位所需的核心知识点。全书共18章,主要内容包括认识Java,走进Java世界,Java基本语法,控制语句,操作字符串,数组,类和对象,继承与多态,抽象类、接口和各种类,异常处理,使用集合存储数据,泛型和反射,常用类库与正则表达式,I/O流编程,GUI编程,多线程,网络编程,以及数据库编程等。本书坚持“从做中学”,采用知识讲解→范例导学→编程实战→综合实战的学习路线,确保每一步都有代码可练,让读者在动手实践中系统掌握Java开发技术。
|
| 目錄:
|
目录
第 1 章 认识 Java 1
1.1 Java 概述 1
1.1.1 编程语言社区排行榜(TIOBE) 1
1.1.2 Java 语言的发展历程 2
1.1.3 Java 语言的特点 2
1.2 如何学好 Java 4
1.2.1 学好基础,反复演练 4
1.2.2 充分利用 Java API 文档 4
1.3 综合实战——学习 Java API 5
第 2 章 走进 Java 世界 6
2.1 搭建 Java 开发环境 6
2.1.1 下载并安装 JDK 6
2.1.2 配置开发环境——Windows 10/11 9
2.2 Java 程序开发步骤 10
2.2.1 编写 Java 程序 10
2.2.2 编译 Java 程序 11
2.2.3 运行 Java 代码 12
2.2.4 从 Java 11 开始简化的编译运行方式 12
2.3 第三方 IDE 工具——Eclipse 13
2.3.1 安装 Eclipse 13
2.3.2 第一个 Eclipse 项目 17
2.3.3 使用 Eclipse 打开项目 18
2.4 使用 IntelliJ IDEA 19
2.4.1 安装 IntelliJ IDEA 19
2.4.2 新建 Java 工程 21
2.4.3 运行 Java 程序 22
2.4.4 打开已有工程 23
2.5 综合实战——复制并运行网络中的 Java 代码 23
第 3 章 Java 基本语法 24
3.1 标识符和关键字 24
3.1.1 标识符 25
3.1.2 关键字 25
3.2 注释与编程风格 25
3.2.1 注释 26
3.2.2 编程风格 27
3.3 常量和变量 27
3.3.1 常量 27
3.3.2 变量 28
3.4 数据类型 30
3.4.1 Java 数据类型的分类 30
3.4.2 字符型 31
3.4.3 整型 32
3.4.4 浮点型 33
3.4.5 布尔型 35
3.5 运算符 35
3.5.1 算术运算符 36
3.5.2 关系运算符和逻辑运算符 39
3.5.3 位运算符 41
3.5.4 条件运算符 42
3.5.5 赋值运算符 43
3.5.6 运算符的优先级 45
3.6 类型转换 46
3.6.1 自动类型转换 46
3.6.2 强制类型转换 48
3.6.3 使用 var 类型推断 48
3.7 输入与输出 49
3.7.1 控制台输入 50
3.7.2 控制台输出 51
3.8 综合实战——一个猜数游戏 52
第 4 章 控制语句 54
4.1 if 条件语句 54
4.1.1 简单 if 语句 54
4.1.2 if…else 语句 56
4.1.3 if…else if…else 语句 58
4.1.4 嵌套 if 条件语句 59
4.2 switch 分支语句 61
4.2.1 switch 语句的基本形式 61
4.2.2 无 break 时的一种情况 63
4.2.3 无 break 时的另一种情况 64
4.2.4 switch 表达式 65
4.3 for 循环语句 66
4.3.1 for 循环基本语句 66
4.3.2 for 循环嵌套语句 67
4.3.3 for 语句和 if 语句嵌套 68
4.4 while 循环语句 69
4.5 do…while 循环语句 70
4.6 跳转语句 71
4.6.1 无标号 break 语句 71
4.6.2 有标号 break 语句 73
4.6.3 continue 语句 74
4.7 综合实战 75
4.7.1 综合实战 1——石头、剪刀、布游戏 75
4.7.2 综合实战 2——星座计算器 76
4.7.3 综合实战 3——聚宝盆小游戏 76
第 5 章 操作字符串 78
5.1 Java 字符串的初始化 78
5.1.1 直接定义字符串 79
5.1.2 使用类 String 定义字符串 79
5.2 字符串常用操作 81
5.2.1 获取指定索引位置的字符 81
5.2.2 追加字符串 82
5.2.3 比较字符串 83
5.2.4 获得字符串的长度 84
5.2.5 替换字符串 85
5.2.6 截取字符串 86
5.2.7 字母大小写互转 87
5.2.8 消除字符串中的空格 88
5.2.9 关于字符串操作的其他常用方法 88
5.3 类 StringBuffer 90
5.3.1 使用类 StringBuffer 创建可变字符串 90
5.3.2 类 StringBuffer 的常用方法 91
5.4 综合实战——字符串综合操作工具 92
第 6 章 数组 94
6.1 一维数组 94
6.1.1 数组的声明与创建 94
6.1.2 一维数组的初始化 95
6.1.3 一维数组的使用 96
6.2 多维数组 98
6.2.1 多维数组的声明与创建 98
6.2.2 多维数组的初始化 98
6.2.3 多维数组的使用 99
6.3 数组常用操作 102
6.3.1 复制数组 102
6.3.2 比较数组 103
6.3.3 数组元素排序 104
6.3.4 查找数组中的元素 106
6.3.5 替换数组中的元素 109
6.3.6 使用 foreach 循环遍历数组 110
6.4 综合实战——某网店库存管理系统 111
第 7 章 类和对象 112
7.1 类 112
7.1.1 类和对象的概念 112
7.1.2 声明类 113
7.1.3 成员变量 114
7.1.4 成员方法 114
7.1.5 创建一个完整的类 115
7.2 对象 115
7.2.1 创建对象 115
7.2.2 访问对象的成员 116
7.2.3 对象的引用 117
7.2.4 成员变量与局部变量的区别 117
7.3 Java 修饰符 118
7.3.1 访问控制符 118
7.3.2 非访问控制符 119
7.4 类的封装 119
7.4.1 为什么使用封装 119
7.4.2 如何实现封装 120
7.5 构造方法 121
7.6 方法调用 122
7.6.1 传递参数调用方法 123
7.6.2 传递可变长度的参数调用方法 123
7.6.3 方法的递归调用 124
7.7 方法重载 125
7.7.1 构造方法的重载 126
7.7.2 成员方法的重载 126
7.8 this 关键字 127
7.9 静态变量与静态方法 129
7.9.1 静态变量 129
7.9.2 静态方法 131
7.10 软件包 132
7.10.1 定义软件包 132
7.10.2 在程序里插入软件包 133
7.10.3 常用的包 134
7.11 综合实战——学生成绩管理系统 135
第 8 章 继承与多态 136
8.1 类的继承 136
8.1.1 继承的基本概念 137
8.1.2 使用继承 137
8.1.3 使用 super 调用父类中的构造方法 139
8.1.4 使用 super 访问父类中的成员变量和成员方法 140
8.1.5 多级继承 142
8.1.6 类 Object 143
8.2 方法重写 144
8.2.1 重写父类的成员方法 144
8.2.2 联合使用重写与重载 146
8.3 初始化块 147
8.3.1 何谓初始化块 148
8.3.2 静态初始化块 148
8.4 使用 final 修饰符 149
8.4.1 使用 final 变量 150
8.4.2 使用 final 方法 151
8.4.3 使用 final 类 153
8.5 对象类型转换与 instanceof 运算符 154
8.5.1 对象类型转换 154
8.5.2 使用 instanceof 运算符 155
8.6 多态 156
8.6.1 何谓多态 157
8.6.2 多态的实现 157
8.7 综合实战——解决 0-1 背包问题 159
第 9 章 抽象类、接口和各种类 160
9.1 抽象类 160
9.1.1 抽象类与抽象方法 161
9.1.2 使用抽象类 162
9.2 接口 165
9.2.1 定义接口 165
9.2.2 实现接口 166
9.2.3 接口的继承 167
9.2.4 接口中的默认方法与静态方法 169
9.3 组合 171
9.4 包装类 173
9.4.1 包装类的基本概念 173
9.4.2 使用包装类 174
9.5 内部类 177
9.5.1 内部类的概念与特性 177
9.5.2 成员内部类 177
9.5.3 局部内部类 179
9.5.4 静态内部类 180
9.5.5 匿名内部类 181
9.6 枚举类 182
9.6.1 枚举类型 182
9.6.2 枚举类 184
9.7 综合实战——图书借阅系统 186
第 10 章 异常处理 187
10.1 初识异常 187
10.1.1 异常的基本概念 187
10.1.2 类 Throwable 及其子类 188
10.1.3 常用的异常类 189
10.2 异常处理机制 190
10.2.1 使用 try…catch 捕获异常 190
10.2.2 处理多个异常 191
10.2.3 使用 finally 代码块 193
10.2.4 访问异常信息 194
10.3 抛出异常 194
10.3.1 使用 throws 声明异常 195
10.3.2 使用 throw 抛出异常 196
10.4 自定义异常与异常丢失现象 197
10.4.1 自定义异常 198
10.4.2 异常丢失现象 199
10.5 综合实战——银行存取款系统 200
第 11 章 使用集合存储数据 201
11.1 Java 集合简介 201
11.2 接口 Collection 203
11.3 接口 List 203
11.3.1 接口 List 的基本功能 204
11.3.2 类 ArrayList 204
11.4 遍历集合 205
11.4.1 Iterator 遍历集合 206
11.4.2 foreach 循环遍历集合 207
11.5 接口 Set 207
11.5.1 接口 Set 的基本功能 208
11.5.2 类 HashSet 208
11.5.3 类 TreeSet 210
11.5.4 类 EnumSet 213
11.6 接口 Queue 214
11.6.1 Queue 接口基本功能 215
11.6.2 接口 Deque 215
11.6.3 类 LinkedList 216
11.6.4 类 PriorityQueue 217
11.7 接口 Map 219
11.7.1 接口 Map 的基本功能 219
11.7.2 类 HashMap 220
11.7.3 类 Hashtable 221
11.7.4 Iterator 遍历 Map 集合 223
11.7.5 类 TreeMap 224
11.7.6 类 IdentityHashMap 227
11.7.7 类 EnumMap 228
11.8 集合工具类 Collections 229
11.8.1 排序操作 229
11.8.2 其他操作 230
11.9 综合实战——使用集合解决八皇后问题 232
第 12 章 泛型和反射 233
12.1 初识泛型 233
12.1.1 Java 集合的缺点 233
12.1.2 泛型的基本概念 234
12.1.3 在集合中使用泛型 235
12.2 泛型类和泛型接口 237
12.2.1 定义泛型类和接口 237
12.2.2 派生子类 238
12.3 类型通配符 240
12.3.1 类型通配符介绍 240
12.3.2 使用类型通配符 241
12.4 泛型方法 242
12.5 反射机制 244
12.5.1 反射机制的概念与作用 244
12.5.2 访问构造方法 245
12.5.3 访问成员变量 246
12.5.4 访问成员方法 249
12.6 综合实战——对集合实现二分查找操作 252
第 13 章 常用类库与正则表达式 253
13.1 系统相关类 253
13.1.1 类 Runtime 253
13.1.2 类 System 255
13.1.3 获取本机的全部环境属性 256
13.1.4 垃圾对象的回收 257
13.2 国际化类 258
13.2.1 国际化基础 258
13.2.2 类 Locale 258
13.2.3 类 ResourceBundle 259
13.2.4 处理动态文本 260
13.3 日期相关类 261
13.3.1 类 Date 261
13.3.2 类 Calendar 262
13.3.3 类 DateFormat 264
13.3.4 类 SimpleDateFormat 265
13.4 主要数字处理类 267
13.4.1 类 Math 267
13.4.2 类 Random 268
13.4.3 类 NumberFormat 269
13.4.4 类 BigInteger 271
13.5 正则表达式 272
13.5.1 正则表达式基础 273
13.5.2 类 Pattern 和类 Matcher 274
13.5.3 类 String 和正则表达式 276
13.6 综合实战——万年历系统 277
第 14 章 I/O 流编程 278
14.1 初识 I/O 流 278
14.2 类 File 279
14.2.1 类 File 及其常用方法 279
14.2.2 创建文件 280
14.2.3 删除文件 281
14.2.4 创建文件夹 281
14.2.5 列出目录中的全部文件 282
14.3 类 RandomAccessFile 283
14.4 字节流与字符流 285
14.4.1 类 OutputStream 285
14.4.2 类 InputStream 287
14.4.3 开辟指定大小的 byte 数组 288
14.4.4 类 Writer(字符流写入文件) 290
14.4.5 字符流追加文件的内容 292
14.4.6 类 Reader 293
14.5 流的相关操作 294
14.5.1 转换流 294
14.5.2 内存操作流 295
14.5.3 管道流 297
14.5.4 打印流 298
14.6 类 BufferedReader 299
14.7 数据操作流 301
14.7.1 类 DataOutputStream 301
14.7.2 类 DataInputStream 303
14.8 综合实战——学生信息管理系统 304
第 15 章 GUI 编程 306
15.1 GUI 开发基础 306
15.1.1 GUI 的发展历程 306
15.1.2 初识 Swing 307
15.1.3 Swing 包 307
15.1.4 Swing 中的组件 308
15.2 窗口容器 309
15.2.1 JFrame 窗口 310
15.2.2 JPanel 面板 312
15.3 常用布局管理器 313
15.3.1 边框布局管理器 313
15.3.2 流式布局管理器 314
15.3.3 卡片布局管理器 316
15.3.4 网格布局管理器 317
15.4 基本组件 319
15.4.1 按钮组件 319
15.4.2 标签组件 321
15.4.3 单行文本框组件 322
15.4.4 复选框和单选按钮组件 324
15.4.5 下拉列表组件 326
15.5 事件监听 327
15.5.1 动作事件 327
15.5.2 键盘事件 329
15.5.3 鼠标事件 329
15.6 工具条组件 330
15.7 进度条组件 332
15.8 综合实战——星座选择器 334
第 16 章 多线程 336
16.1 线程基础 336
16.1.1 进程 336
16.1.2 线程 337
16.2 创建线程 338
16.2.1 线程处理类 Thread 338
16.2.2 继承类 Thread 创建线程(一) 339
16.2.3 继承类 Thread 创建线程(二) 340
16.2.4 实现接口 Runnable 创建线程 342
16.2.5 实现接口 Callable 创建线程 343
16.3 线程的生命周期与优先级 344
16.3.1 线程的生命周期 344
16.3.2 线程的优先级 346
16.4 线程的调度 347
16.4.1 线程休眠 347
16.4.2 线程让步 349
16.4.3 线程插队 351
16.4.4 线程终止 352
16.5 线程传递数据 354
16.5.1 通过构造方法传递数据 354
16.5.2 通过变量和方法传递数据 355
16.6 数据同步 356
16.6.1 一个有问题的程序 356
16.6.2 使用 synchronized 实现线程同步 357
16.6.3 线程锁 360
16.7 综合实战——快递包裹分拣系统 361
第 17 章 网络编程 363
17.1 网络编程基础 363
17.1.1 网络通信协议 363
17.1.2 IP 地址和端口号 365
17.1.3 类 URLDecoder 和类 URLEncoder 365
17.1.4 类 InetAddress 366
17.1.5 类 URL 和类 URLConnection 367
17.2 TCP 编程 371
17.2.1 TCP 的基本概念 372
17.2.2 类 ServerSocket 372
17.2.3 类 Socket 373
17.2.4 实现 TCP 通信 374
17.2.5 实现非阻塞 Socket 通信 377
17.3 综合实战——在线文件传输系统 382
第 18 章 数据库编程 383
18.1 初识 JDBC 383
18.1.1 什么是 JDBC 383
18.1.2 连接数据库 384
18.1.3 JDBC 中的常用接口和类 387
18.2 JDBC 编程 390
18.2.1 JDBC 编程步骤 390
18.2.2 开发 JDBC 程序 391
18.3 综合实战——学生信息管理系统 394
|
| 內容試閱:
|
前言
我们正处在一个由人工智能驱动的技术变革时代。从智能助手到自动驾驶,从大数据分析到机器学习,AI 已经渗透到各行各业,成为推动创新的核心力量。而在这些令人惊叹的 AI 应用背后,往往离不开一门强大、稳定且生态丰富的编程语言——Java。
Java 不仅是企业级应用开发的基石,更是大数据平台(如 Hadoop、Spark)、人工智能框架(如 Deeplearning4j)以及高并发分布式系统的首选语言之一。在 AI 基础设施层,Java 凭借其跨平台、高性能、高可靠性的特点,持续发挥着不可替代的作用。因此,学习 Java,不仅能学会一门编程语言,更是掌握了打开 AI 时代核心技术大门的钥匙。
本书正是为希望在人工智能浪潮中打下坚实编程基础的读者而写。书中以“案例驱动+实战演练”为核心,将抽象的编程概念转化为一个个生动、实用的实战案例,帮助读者在动手实践中理解 Java 开发的精髓。
本书特色
1. 零基础友好,循序渐进
本书不仅讲解 Java 语法,更注重培养读者的编程思维和实战能力。本书坚持“从做中学”,每一步都有代码可练,让读者在动手实践中建立学习信心。无论你是完全没有编程经验的新手,还是希望巩固基础的开发者,本书都能带你系统性地掌握 Java。
2. 案例丰富+有趣,有效提升学习兴趣
编程没有捷径可走,唯一的秘诀就是大量练习,在实战中成长。本书提供了 500 多个实战案例,而且摒弃了传统编程图书枯燥的理论堆砌,代之以贴近生活、富有趣味性的案例,以最大程度地提升读者的学习兴趣。同时,针对 Java 核心知识,采用“知识讲解→范例导学→编程实战→综合实战”的学习路线,对开发技能进行多方位的训练,确保零基础读者也能真正融会贯通,并做到举一反三。
3. 配套资源丰富,支持持续学习
除了书中的代码示例,我们还提供同步教学微课、配套源码、实战项目、教学大纲、PPT 课件、AIGC 高效编程手册等配套学习资源。
同步教学微课:共计 110 集教学视频,总时长 14 小时。
配套源码:本书中 175 个范例导学、337 个实战案例、18 个综合实战,均配有源码。
实战项目:附赠“机房管理系统”实战项目,提供完整的项目开发过程及源码。
教学资源:附赠教学大纲、PPT 课件等教学资源。
AIGC 高效编程手册:介绍 AI 编程助手的常见功能,以及辅助 Java 进行高效、自动化开发的常见技巧。
读者扫描图书封底的“文泉云盘”二维码,或登录清华大学出版社网站,可在对应图书页面下查阅各类学习资源的获取方式。
4. 互助交流,扫清学习障碍
购买本书后,读者可加入专属学习社区,与作者团队及众多 Java 爱好者交流互动。我们定期组织线上分享,让你切身体会和众多志同道合的朋友们一起学习编程是一件快乐的事情,保持学习动力与技术敏感度。
本书内容
全书共 18 章,覆盖 Java 基础语法、面向对象编程、集合框架、I/O 流、多线程、网络编程、数据库连接等核心内容。
本书读者对象
高校计算机、软件开发、人工智能等相关专业的学生,希望夯实编程基础。
希望进入编程世界,并有意向软件开发、人工智能方向发展的初学者。
从事测试、运维等岗位,希望转型 Java 开发或 AI 工程方向的人员。
已有其他语言基础,想系统学习 Java 的开发者。
对 AI 感兴趣,但缺乏编程实践基础的爱好者。
致谢
感谢我的家人在我写作过程中的鼎力支持,感谢清华大学出版社编辑团队的耐心与专业。同时也感谢所有为 Java 技术发展贡献智慧的开发者们。
由于时间与水平有限,书中难免存在疏漏之处,恳请读者朋友们批评指正,提出修改建议,以使本书更臻完善。
最后感谢购买本书的读者,希望本书能成为您编程路上的领航者,祝学习快乐!
|
|