倉頡編程快速上手
劉玥 張榮超
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書通過豐富的示例和大量的練習,簡明扼要地闡述了倉頡編程語言的基本知識和核心概念。全書共15章,涵蓋起步、變量、簡單的數據操作、流程控制之if表達式、流程控制之循環表達式、函數初級、面向對象編程、struct類型、enum類型和模式匹配、函數高級、基礎Collection類型、泛型、包管理、擴展、數值和字符串操作等內容。其中,“面向對象編程”這一章詳細講解了一系列重要的概念,如類、對象、封裝、繼承、多態、重寫、抽象類和接口等,並通過一個小型的課務管理項目對上述概念進行了深入闡釋。本書適合希望快速上手倉頡編程語言的初學者閱讀。
作者簡介
劉玥,九丘教育CEO,曾在高校任教十餘年,具有豐富的課堂教學經驗,尤其擅長講授程序設計、算法類課程。
張榮超,九丘教育教學總監、華為開發者專家(HDE)、華為首屆HarmonyOS開發者創新大賽優秀導師、OpenHarmony項目群技術指導委員會(TSC)委員。
目錄大綱
目 錄
第 1章 起步 1
1.1 關於倉頡 1
1.2 搭建開發環境 1
1.3 我的第 一個倉頡程序 1
第 2章 變量 5
2.1 變量的聲明 5
2.1.1 在“第 一個”倉頡程序中聲明
一個變量 5
2.1.2 聲明幾個不同類型的變量 6
2.1.3 在聲明變量時默認數據類型 9
2.2 變量的使用 9
2.2.1 讀取變量值 10
2.2.2 對可變變量進行賦值 11
2.2.3 在賦值時避免類型錯誤 14
第3章 簡單的數據操作 16
3.1 存儲數值的數據類型 16
3.1.1 認識整數類型 16
3.1.2 整數類型可變變量的自增
和自減運算 18
3.1.3 認識浮點類型 18
3.1.4 數值類型的算術運算 20
3.1.5 避免算術運算中的類型錯誤 22
3.2 存儲字符的數據類型 25
3.2.1 使用字符類型存儲單個字符 26
3.2.2 使用字符串類型存儲多個字符 27
3.2.3 在輸出字符串時使用換行符
和製表符 29
3.2.4 拼接字符串 31
3.2.5 使用插值字符串 32
3.3 其他數據類型 33
3.3.1 元組類型 33
3.3.2 Unit和Nothing類型 34
第4章 流程控制之if表達式 37
4.1 條件測試 37
4.1.1 比較數值類型數據的大小 37
4.1.2 測試是否相等 37
4.1.3 檢查復雜的條件 38
4.2 if表達式 41
4.2.1 單分支的if表達式 41
4.2.2 雙分支的if表達式 41
4.2.3 嵌套的if表達式 45
第5章 流程控制之循環表達式 49
5.1 do-while表達式 49
5.1.1 使用do-while表達式輸出1到10
之間的數 49
5.1.2 使用do-while表達式計算
階乘 50
5.1.3 使用break表達式結束循環 51
5.1.4 在循環中使用continue
表達式 52
5.2 while表達式 53
5.2.1 使用while表達式計算階乘 54
5.2.2 在循環中使用標誌 54
5.2.3 在while表達式中使用break
表達式和continue表達式 55
5.3 for-in表達式 56
5.3.1 瞭解區間類型 57
5.3.2 使用for-in表達式計算階乘 58
5.3.3 使用where條件 59
5.3.4 尋找最小公倍數 60
5.4 循環表達式的嵌套 61
5.4.1 尋找完全數 62
5.4.2 尋找自除數 63
第6章 函數初級 67
6.1 函數的定義和調用 67
6.1.1 一個簡單的無參函數 67
6.1.2 使用非命名參數 68
6.1.3 使用命名參數 71
6.1.4 使用return返回值 73
6.1.5 瞭解函數的返回值類型 76
6.2 函數的重載 78
6.2.1 定義重載函數 79
6.2.2 調用重載函數 79
6.3 變量的作用域 80
6.3.1 程序的基本結構 80
6.3.2 全局變量的作用域 82
6.3.3 局部變量的作用域 82
6.3.4 同名變量 83
第7章 面向對象編程 86
7.1 類的定義和對象的創建 86
7.1.1 定義類 86
7.1.2 創建類的實例 89
7.1.3 聲明並使用靜態成員變量 90
7.1.4 定義並調用靜態成員函數 92
7.1.5 重載構造函數 93
7.1.6 類是引用類型 96
7.1.7 組織代碼 98
7.2 封裝 99
7.2.1 直接修改實例成員變量 99
7.2.2 通過函數讀寫private實例成員
變量 100
7.2.3 通過成員屬性讀寫成員變量 103
7.3 繼承 106
7.3.1 定義並繼承父類 106
7.3.2 創建新的子類 109
7.3.3 重寫和重定義 111
7.3.4 使用組合實現代碼復用 114
7.4 多態 116
7.4.1 將子類對象賦給父類類型的
變量 116
7.4.2 通過繼承實現多態 117
7.5 抽象類 119
7.5.1 將已有的類改造為抽象類 120
7.5.2 通過抽象函數和抽象類實現
多態 124
7.6 接口 125
7.6.1 定義接口 126
7.6.2 實現接口 127
7.6.3 通過接口實現多態 132
7.6.4 繼承接口 133
7.6.5 面向接口編程示例 134
第8章 struct類型 139
8.1 struct類型的定義和實例的
創建 139
8.1.1 定義struct類型 139
8.1.2 創建struct類型的實例
並訪問其成員 140
8.2 struct類型和class類型的
區別 141
8.2.1 struct類型是值類型 141
8.2.2 修改struct的實例成員 143
第9章 enum類型和模式匹配 145
9.1 enum類型的定義和enum值的
創建 145
9.1.1 定義enum類型 145
9.1.2 創建enum值 147
9.2 enum值的模式匹配 148
9.2.1 使用match表達式匹配
enum值 148
9.2.2 瞭解另一種match表達式 153
9.3 模式 155
9.3.1 使用常量模式 155
9.3.2 使用通配符模式 157
9.3.3 使用綁定模式 157
9.3.4 使用類型模式 159
9.3.5 使用元組模式 161
9.3.6 使用枚舉模式 162
9.3.7 判斷模式的Refutability 164
9.4 模式的其他用法 166
9.4.1 在變量聲明中使用irrefutable
模式 166
9.4.2 在for-in表達式中使用irrefutable
模式 168
9.4.3 在if-let表達式中使用模式 169
9.4.4 在while-let表達式中使用
模式 171
9.5 Option類型 173
9.5.1 瞭解Option類型的定義 173
9.5.2 創建Option值 173
9.5.3 解構Option值 175
9.5.4 使用as操作符進行類型
轉換 179
第 10章 函數高級 184
10.1 函數是“一等公民” 184
10.1.1 判斷函數類型 184
10.1.2 將函數作為變量值 185
10.1.3 將函數作為實參 186
10.1.4 將函數作為返回值 187
10.2 lambda表達式 189
10.2.1 定義lambda表達式 189
10.2.2 使用lambda表達式 190
10.2.3 比較lambda表達式和函數的
異同 192
10.2.4 使用“尾隨lambda”
語法糖 194
10.3 嵌套函數和閉包 195
10.3.1 定義和使用嵌套函數 195
10.3.2 在閉包中捕獲變量 197
10.3.3 閉包的工作原理和特點 200
10.4 再論重載函數 202
10.4.1 函數重載決議 202
10.4.2 對一元操作符進行重載 205
10.4.3 對二元操作符進行重載 207
10.5 mut函數 208
10.5.1 在struct中使用mut函數 209
10.5.2 在interface中使用mut
函數 210
第 11章 基礎Collection類型 212
11.1 Array 212
11.1.1 使用字面量創建Array 212
11.1.2 使用構造函數創建Array 213
11.1.3 獲取Array的元素個數 214
11.1.4 訪問Array的元素 215
11.1.5 修改Array的元素 218
11.1.6 Array是引用類型 220
11.2 ArrayList 222
11.2.1 創建ArrayList 222
11.2.2 訪問和修改ArrayList的
元素 223
11.2.3 向ArrayList中添加元素 225
11.2.4 從ArrayList中刪除元素 227
11.3 HashSet 230
11.3.1 創建HashSet 230
11.3.2 訪問HashSet的元素 231
11.3.3 向HashSet中添加元素 233
11.3.4 從HashSet中刪除元素 234
11.4 HashMap 236
11.4.1 創建HashMap 237
11.4.2 訪問HashMap的元素 238
11.4.3 向HashMap中添加元素
或修改元素 241
11.4.4 從HashMap中刪除元素 243
第 12章 泛型 246
12.1 泛型類型 246
12.1.1 定義和使用泛型class 247
12.1.2 定義和使用泛型struct 251
12.1.3 定義和使用泛型enum 252
12.1.4 定義和使用泛型interface 253
12.2 泛型函數 255
12.2.1 定義和調用泛型函數 256
12.2.2 為泛型函數添加泛型約束 257
第 13章 包管理 259
13.1 包的聲明 259
13.1.1 工程的基本結構 259
13.1.2 聲明包 260
13.2 頂層聲明的可見性 261
13.2.1 頂層聲明的默認可見性 261
13.2.2 頂層聲明的public可見性 262
13.3 頂層聲明的導入 265
13.3.1 使用import導入其他包中的
public頂層聲明 265
13.3.2 使用import as進行重命名 268
13.3.3 使用public import對導入的
頂層聲明重導出 270
第 14章 擴展 272
14.1 直接擴展和接口擴展 272
14.1.1 定義和使用直接擴展 272
14.1.2 定義和使用接口擴展 275
14.1.3 擴展泛型類型 278
14.2 擴展的導出和導入 278
14.2.1 導出和導入直接擴展 278
14.2.2 導出和導入接口擴展 280
第 15章 數值和字符串操作 283
15.1 生成隨機數據 283
15.1.1 生成各種類型的隨機數據 283
15.1.2 生成指定範圍內的
隨機整數 284
15.1.3 復現隨機數據 285
15.1.4 生成隨機數組 286
15.2 通用的數學操作 286
15.2.1 計算三角函數與雙曲函數 286
15.2.2 對浮點數取整 288
15.2.3 其他數學操作 289
15.3 格式化輸出 289
15.3.1 輸出非負數時加上正號 290
15.3.2 將整數類型輸出為二、八、
十六進制 290
15.3.3 使用科學記數法或十進制
表示浮點數 291
15.3.4 控制浮點數的輸出精度 292
15.3.5 控制輸出寬度 292
15.4 字符串操作 294
15.4.1 將字符串轉換為字符數組 294
15.4.2 統計和查找 295
15.4.3 去除前綴和後綴 296
15.4.4 替換子字符串 297
15.4.5 分割和連接字符串 298
15.4.6 大小寫轉換 299
15.4.7 類型轉換 299
15.4.8 StringBuilder 301


