倉頡編程快速上手

劉玥 張榮超

  • 出版商: 人民郵電
  • 出版日期: 2024-07-01
  • 定價: $539
  • 售價: 8.5$458 (限時優惠至 2024-11-30)
  • 語言: 簡體中文
  • 頁數: 302
  • 裝訂: 平裝
  • ISBN: 7115624712
  • ISBN-13: 9787115624710
  • 立即出貨 (庫存 < 3)

  • 倉頡編程快速上手-preview-1
  • 倉頡編程快速上手-preview-2
倉頡編程快速上手-preview-1

相關主題

商品描述

本書通過豐富的示例和大量的練習,簡明扼要地闡述了倉頡編程語言的基本知識和核心概念。全書共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