暂无商品咨询信息 [发表商品咨询]
华为仓颉语言编程从新手到专家实战宝典:基础语法+100个精选实战案例+大量即用型优质代码,带你全流程掌握仓颉,驾驭未来 ,全面解析鸿蒙生态!
华为自研的仓颉(Cangjie)语言作为一款面向全场景应用开发的现代编程语言,通过现代语言特性的集成、全方位的编译优化和运行时实现,以及开箱即用的工具链支持,为开发者打造了友好的开发体验和卓越的程序性能。本书循序渐进地讲解了仓颉语言的核心知识,并通过具体实例的实现过程演练了开发仓颉语言程序的关键方法和流程。全书共19章,分别讲解了从仓颉语言的基础语法、数据结构、面向对象编程、网络编程到多线程与并发处理等内容,最后通过实战项目——圆角图片视图库的开发,系统展示了仓颉语言的核心语法知识和实际应用技巧。本书通俗易懂而不失技术深度,案例丰富,实用性强,涵盖了华为开发技术的最新动态和实践案例,同时涵盖了其他同类图书中很少涉及的开发工具与平台介绍。本书适合华为仓颉编程语言的初学者和进阶读者作为自学教程,也可作为培训学校和各大院校的相关专业的教学参考书。
刘陈
----------------------------
山东大学计算机通信硕士、HarmonyOS技术专家,现任浪潮信息资深移动开发架构师,精通Java、C、C++、Python、Objective-C、Swift等编程语言,10年Android、iOS开发经验,5年HarmonyOS开发经验。曾就职于HTC、联想,先后担任过软件开发工程师、项目经理、产品技术主管等职位。
第1章 仓颉语言基础介绍 1
1.1 鸿蒙系统介绍 2
1.1.1 鸿蒙系统的发展历程 2
1.1.2 鸿蒙系统的架构概览 2
1.1.3 分布式架构 3
1.1.4 多设备支持 3
1.2 仓颉语言介绍 4
1.2.1 仓颉语言的背景和发展历程 4
1.2.2 仓颉语言的主要特点 5
1.3 仓颉语言的应用场景 6
1.3.1 操作系统和系统级开发 6
1.3.2 智能设备应用开发 6
1.3.3 物联网与嵌入式系统 7
第2章 搭建仓颉开发环境 8
2.1 系统要求 9
2.2 准备仓颉 SDK 9
2.3 搭建 Visual Studio Code 开发环境 10
2.3.1 安装 Visual Studio Code 10
2.3.2 配置仓颉环境 12
2.3.3 第一个仓颉程序 14
2.4 搭建 DevEco Studio 开发环境 18
2.4.1 DevEco Studio 的特点 19
2.4.2 下载并安装 DevEco Studio 19
2.4.3 配置仓颉环境 22
第3章 基础语法 26
3.1 标识符和关键字 27
3.1.1 标识符 27
3.1.2 关键字 27
3.2 注释 28
3.3 常量和变量 29
3.3.1 常量 29
3.3.2 变量 31
3.3.3 值类型和引用类型变量 33
3.4 操作符 34
3.4.1 算术操作符和赋值操作符 35
3.4.2 比较操作符 36
3.4.3 逻辑操作符 37
3.4.4 位操作符 39
3.4.5 自增和自减操作符 40
3.4.6 操作符的优先级 41
3.5 数据类型 44
3.5.1 整数类型 45
3.5.2 浮点类型 46
3.5.3 布尔类型 47
3.5.4 字符类型 48
3.5.5 字符串类型 50
3.5.6 Unit 类型 54
3.6 类型转换 55
3.6.1 数值类型转换 55
3.6.2 和 Rune 类型相关的转换 57
3.6.3 is 和 as 操作符 58
3.7 输入和输出 59
3.7.1 函数 print 59
3.7.2 函数 println 61
第4章 表达式 63
4.1 条件表达式 64
4.1.1 if 表达式语句 64
4.1.2 if…else if…else 表达式语句 65
4.1.3 if 表达式语句的类型检查 67
4.1.4 if 表达式语句的嵌套 68
4.2 循环结构 69
4.2.1 while 表达式 69
4.2.2 do-while 表达式 72
4.2.3 for-in 表达式 74
4.2.4 遍历区间 76
4.2.5 where 条件 77
4.2.6 while 表达式的嵌套 78
4.2.7 for-in 表达式的嵌套 79
4.3 跳转表达式 80
4.3.1 break 表达式 80
4.3.2 continue 表达式 81
第5章 元组和数组 83
5.1 元组 84
5.1.1 元组的定义 84
5.1.2 元组的操作 85
5.1.3 元组的嵌套 88
5.2一维数组 91
5.2.1 数组的声明与创建 91
5.2.2 使用一维数组 93
5.2.3 数组元素求和 95
5.3 多维数组 96
5.3.1 多维数组的声明与创建 96
5.3.2 初始化二维数组的其他方法 100
5.4 VArray 数组 103
5.4.1 定义与声明 103
5.4.2 VArray 的初始化和操作 103
5.5 内置 Array 操作函数 105
5.5.1 拷贝与克隆 105
5.5.2 连接与合并 106
5.5.3 翻转与切片 107
5.5.4 访问与搜索 108
5.5.5 转换与输出 109
5.5.6 比较 110
5.5.7 数组元素数量 111
第6章 函数 112
6.1 函数基础 113
6.1.1 定义函数 113
6.1.2 参数列表 113
6.1.3 函数返回值类型 115
6.1.4 函数体 118
6.2 调用函数 118
6.2.1 非命名参数的调用 119
6.2.2 命名参数的调用 119
6.2.3 默认参数的函数调用 120
6.3 函数的嵌套调用和递归调用 120
6.3.1 函数的嵌套调用 120
6.3.2 函数的递归调用 121
6.4 Lambda 表达式 125
6.4.1 Lambda 表达式的定义 125
6.4.2 Lambda 表达式的返回类型 125
6.4.3 Lambda 表达式的调用 126
6.5 变量作用域 132
6.5.1 局部变量作用域 133
6.5.2 全局变量作用域 134
6.5.3 函数作用域 134
6.6 闭包 135
6.6.1 变量捕获 135
6.6.2 使用闭包 136
6.6.3 闭包作用域 140
6.7 函数重载 140
6.7.1 函数重载的规则 141
6.7.2 函数重载决议 144
6.8 内置函数 146
6.8.1 随机函数 146
6.8.2 格式化函数 147
6.8.3 数学运算函数 149
第7章 结构 152
7.1 结构体基础 153
7.1.1 定义结构体 153
7.1.2 结构体的成员变量 154
7.1.3 成员函数 157
7.1.4 结构体成员的访问修饰符 160
7.2 结构体实例 161
7.2.1 创建结构体实例 161
7.2.2 不同类型的结构体成员变量 161
7.2.3 修改结构体的成员变量 162
7.2.4 结构体的复制行为 164
7.3mut 函数 166
7.3.1 mut 函数介绍 166
7.3.2 mut 函数的限制 168
第8章 枚举 170
8.1 枚举基础 171
8.1.1 推出枚举的背景 171
8.1.2 定义枚举类型 171
8.1.3 使用枚举 173
8.1.4 match 表达式 175
8.2 模式匹配 180
8.2.1 常量模式 180
8.2.2 通配符模式匹配 181
8.2.3 绑定模式匹配 182
8.2.4 元组模式匹配 183
8.2.5 类型模式匹配 184
8.2.6 枚举模式匹配 186
8.2.7 模式的嵌套与组合匹配 186
8.2.8 模式的可匹配性 189
8.3 可选类型 193
8.3.1 定义 Option 类型 193
8.3.2 if-let 表达式 195
8.3.3 while-let 表达式 197
8.3.4 模式和可选类型的关系 198
第9章 面向对象编程 200
9.1 类 201
9.1.1 类和对象的概念 201
9.1.2 声明类 201
9.1.3 创建对象 203
9.1.4 成员变量 204
9.1.5 构造函数 206
9.1.6 终结器 209
9.1.7 成员函数 210
9.2 访问修饰符 212
9.2.1 访问修饰符介绍 212
9.2.2 使用访问修饰符 213
9.3 类的继承 214
9.3.1 继承的基本概念 215
9.3.2 实现继承 215
9.3.3 super 和 this 216
9.3.4 覆盖(override)和重定义(redef) 218
9.3.5 This 类型 220
9.4 抽象类 221
9.4.1 抽象类的特点 221
9.4.2 定义抽象类 222
9.5 接口 224
9.5.1 定义并实现接口 224
9.5.2 接口的成员 227
9.5.3 接口的继承 229
9.5.4 接口的默认实现 231
9.5.5 Any 类型 232
9.6 属性 234
9.6.1 定义属性 234
9.6.2 属性的修饰符 235
9.6.3 抽象属性 238
9.7 子类型关系 239
第10章 泛型 242
10.1 泛型介绍 243
10.1.1 泛型的常用术语 243
10.1.2 定义泛型 243
10.1.3 泛型约束 246
10.2 泛型函数 246
10.2.1 泛型函数的定义 247
10.2.2 全局泛型函数 248
10.2.3 局部泛型函数 249
10.2.4 泛型成员函数 250
10.2.5 静态泛型函数 252
10.3 泛型类和接口 253
10.3.1 泛型类 253
10.3.2 泛型接口 254
10.4 泛型结构体 255
10.4.1 泛型结构体的定义 255
10.4.2 使用泛型结构体 256
10.5 泛型枚举 259
第11章 扩展 262
11.1 扩展介绍 263
11.1.1 编程语言中的扩展 263
11.1.2 仓颉语言中的扩展 263
11.2 直接扩展 264
11.2.1 实现直接扩展 264
11.2.2 针对泛型类型的扩展 265
11.2.3 泛型约束的扩展 267
11.3 接口扩展 269
11.3.1 实现接口扩展 269
11.3.2 同时实现多个接口 269
11.3.3 接口扩展中的泛型约束 271
11.4 访问规则 272
11.4.1 扩展的修饰符 272
11.4.2 扩展的孤儿规则 275
11.4.3 扩展的访问和遮盖 276
第12章 集合 278
12.1 集合介绍 279
12.1.1 集合的基本概念 279
12.1.2 仓颉语言中的集合 280
12.2 ArrayList 281
12.2.1 ArrayList 介绍 281
12.2.2 添加、遍历、修改和删除 283
12.2.3 排序操作 285
12.2.4 切片操作 287
12.3 HashSet 288
12.3.1 HashSet 介绍 288
12.3.2 添加、遍历、修改和删除 290
12.3.3 排序操作 291
12.3.4 切片操作 293
12.4 HashMap 294
12.4.1 HashMap 介绍 294
12.4.2 添加、遍历、修改和删除 295
12.4.3 切片操作 297
12.5 LinkedList 298
12.5.1 LinkedList 介绍 298
12.5.2 添加、遍历、修改和删除 300
12.6 TreeMap 301
12.6.1 TreeMap 介绍 302
12.6.2 添加、遍历、修改和删除 303
第13章 包 306
13.1 包的基础知识介绍 307
13.1.1 推出包的历史背景 307
13.1.2 包的作用 307
13.2 仓颉语言中的包 308
13.2.1 包的声明 308
13.2.2 顶层声明的可见性 309
13.3 包的导入 313
13.3.1 普通的 import 导入 313
13.3.2 隐式导入 314
13.3.3 导入重命名 314
13.3.4 重导出一个导入的名字 316
第14章 异常处理 318
14.1 初识异常 319
14.1.1 异常的基本概念 319
14.1.2 仓颉语言的异常处理 319
14.1.3 常用的运行时异常 320
14.2 try 表达式 321
14.2.1 普通的 try 表达式 321
14.2.2 try-with-resources 表达式 323
14.2.3 CatchPattern 机制 326
14.3 用 Option 处理异常 328
14.3.1 模式匹配 328
14.3.2 Coalescing 操作符() 329
14.3.3 问号操作符() 331
14.3.4 函数 getOrThrow 331
第15章 并发 334
15.1 并发基础 335
15.1.1 并发的基本概念 335
15.1.2 并发的特性和实现方式 336
15.1.3 仓颉语言的并发 336
15.2 多线程开发 337
15.2.1 线程介绍 337
15.2.2 创建线程 338
15.2.3 访问线程 340
15.2.4 访问线程属性 343
15.2.5 终止线程 344
15.3 线程同步 346
15.3.1 线程同步的意义 346
15.3.2 原子操作 347
15.3.3 可重入互斥锁 349
15.3.4 Monitor 同步 357
15.3.5 MultiConditionMonitor 361
15.3.6 synchronized 锁管理 365
15.3.7 线程局部变量 369
第16章 I/O 流操作 372
16.1 I/O 流介绍 373
16.1.1 I/O 流的操作类型 373
16.1.2 仓颉语言中的 I/O 373
16.2 标准流 375
16.2.1 标准流介绍 375
16.2.2 类 Console 375
16.2.3 ConsoleReader 标准读取 376
16.2.4 ConsoleWriter 标准写入 377
16.3 文件流 379
16.3.1 包 std.fs 介绍 380
16.3.2 File 文件操作 380
16.3.3 Directory 文件夹操作 383
16.3.4 结构体 FileInfo 386
16.3.5 结构体 Path 389
16.4 I/O 处理流 393
16.4.1 包 io 介绍 393
16.4.2 输入流和输出流 394
16.4.3 BufferedInputStream 缓冲区输入流 395
16.4.4 BufferedOutputStream 缓冲区输出流 397
16.4.5 ByteArrayStream 字节流 398
16.4.6 ChainedInputStream 多输入流读取 400
16.4.7 MultiOutputStream 多输出流 401
16.4.8 StringReader 读取输入流 402
16.4.9 StringWriter 写入输入流 404
第17章 网络编程 407
17.1 网络编程基础 408
17.1.1 网络通信协议 408
17.1.2 IP 地址和端口号 409
17.1.3 仓颉语言的网络编程 410
17.2 Socket 编程 410
17.2.1 包 socket 411
17.2.2 TCP 传输处理 412
17.2.3 UDP 传输处理 416
17.3 HTTP 编程 418
17.3.1 包 net.http 418
17.3.2 处理客户端请求 420
17.3.3 Cookie 服务 424
17.3.4 网络服务 427
17.3.5 WebSocket 编程 431
第18章 宏 436
18.1 宏的相关概念 437
18.2 仓颉语言中的宏 437
18.2.1 第一个宏实例 437
18.2.2 Token 类型 439
18.2.3 quote 表达式和插值 441
18.2.4 语法节点 442
18.3 宏的实现 444
18.3.1 非属性宏 444
18.3.2 属性宏 447
18.3.3 宏的调用 448
18.3.4 宏的嵌套 449
18.3.5 宏调用中的嵌套宏调用 450
第19章 综合实战:圆角图片视图库 453
19.1 项目介绍 454
19.1.1 背景介绍 454
19.1.2 项目需求分析 454
19.1.3 项目概述 454
19.2 圆角图片处理框架 455
19.2.1 工具函数 455
19.2.2 目录操作和文件操作 456
19.2.3 创建和管理 PixelMap 对象 458
19.2.4 图片缩放类型 461
19.2.5 配置圆角图片显示属性 463
19.3 HarmonyOS 应用包 465
19.3.1 入口逻辑和组件初始化 465
19.3.2 主界面程序 466
19.3.3 配置文件 467
基本信息 | |
---|---|
出版社 | 北京大学出版社 |
ISBN | 9787301359914 |
条码 | 9787301359914 |
编者 | 刘陈 著 |
译者 | -- |
出版年月 | 2025-05-01 00:00:00.0 |
开本 | 16开 |
装帧 | 平装 |
页数 | 480 |
字数 | 805000 |
版次 | 1 |
印次 | 1 |
纸张 | 一般胶版纸 |
暂无商品评论信息 [发表商品评论]
暂无商品咨询信息 [发表商品咨询]