仓颉编程语言入门教程:从零开始的编程之旅
·

目录
-
- 4.1 变量与常量
- 4.2 基本数据类型
- 4.3 运算符
- 4.4 字符串操作
-
- 5.1 条件语句
- 5.2 循环语句
-
- 6.1 函数定义
- 6.2 参数与返回值
-
- 7.1 数组
- 7.2 字典
欢迎来到仓颉世界
仓颉(Cangjie)是华为为鸿蒙生态开发的现代编程语言,语法简洁优雅,既适合编程新手入门,又能满足专业开发需求。如果你完全没有编程经验,不用担心!本教程将手把手带你从零开始学习仓颉。🎉
为什么选择仓颉?
- ✨ 语法清晰易懂,学习曲线平缓
- 🛡️ 类型安全,减少错误
- 🚀 高性能,适合鸿蒙应用开发
- 💪 现代化特性,符合主流趋势
环境搭建
在开始编程之前,我们需要安装仓颉开发环境。
步骤:
- 访问华为开发者官网下载仓颉SDK
- 安装配置开发工具(推荐使用DevEco Studio)
- 验证安装:打开终端输入
cangjie --version
安装成功后,让我们开始第一个程序!
第一个程序:Hello World
每个程序员的第一个程序都是"Hello World",这是编程界的传统仪式!😊
main() {
println("Hello, World!")
println("你好,仓颉!")
}
代码解释:
main()是程序的入口函数,程序从这里开始执行println()用于打印文本并换行- 双引号内是要显示的文字
运行结果:
Hello, World!
你好,仓颉!
恭喜你!你已经完成了第一个仓颉程序!🎊
基础语法
4.1 变量与常量
编程中,我们需要存储各种数据。仓颉提供了两种方式:
main() {
// 变量 - 可以改变的值
var age = 18
println("我今年${age}岁")
age = 19 // 可以修改
println("明年我${age}岁")
// 常量 - 不能改变的值
let birthYear = 2005
println("我出生于${birthYear}年")
// birthYear = 2006 // 错误!常量不能修改
}
记忆技巧:
var= variable(变量),可变let= 固定不变
4.2 基本数据类型
仓颉有几种常用的数据类型:
main() {
// 整数类型
let count: Int64 = 100
let smallNum: Int32 = 50
// 小数类型
let price: Float64 = 99.99
let score: Float32 = 85.5
// 布尔类型(真/假)
let isStudent: Bool = true
let hasLicense: Bool = false
// 字符串类型
let name: String = "小明"
let city: String = "北京"
println("姓名:${name}")
println("价格:${price}元")
println("是学生:${isStudent}")
}
初学者提示:
大多数情况下,你可以省略类型声明,仓颉会自动识别:
let age = 18 // 自动识别为 Int64
let name = "小红" // 自动识别为 String
let price = 88.88 // 自动识别为 Float64
4.3 运算符
让我们做一些数学运算:
main() {
let a = 10
let b = 3
// 算术运算
println("加法:${a + b}") // 13
println("减法:${a - b}") // 7
println("乘法:${a * b}") // 30
println("除法:${a / b}") // 3
println("取余:${a % b}") // 1
// 比较运算
println("相等:${a == b}") // false
println("不等:${a != b}") // true
println("大于:${a > b}") // true
println("小于:${a < b}") // false
// 逻辑运算
let isAdult = true
let hasTicket = false
println("可以入场:${isAdult && hasTicket}") // false(需要同时满足)
println("符合条件之一:${isAdult || hasTicket}") // true(满足一个即可)
}
4.4 字符串操作
字符串是编程中最常用的类型之一:
main() {
let firstName = "张"
let lastName = "伟"
// 字符串拼接
let fullName = firstName + lastName
println("全名:${fullName}")
// 字符串模板(推荐方式)
let age = 25
let intro = "我叫${fullName},今年${age}岁"
println(intro)
// 字符串长度
let message = "Hello"
println("长度:${message.length}")
// 大小写转换
println("大写:${message.toUpperCase()}")
println("小写:${message.toLowerCase()}")
}
控制流程
5.1 条件语句
根据不同情况执行不同代码:
main() {
let score = 85
// if-else 语句
if (score >= 90) {
println("优秀!🏆")
} else if (score >= 80) {
println("良好!👍")
} else if (score >= 60) {
println("及格!✓")
} else {
println("需要努力!💪")
}
// 实用例子:判断年龄段
let age = 16
if (age < 18) {
println("未成年人")
} else if (age < 60) {
println("成年人")
} else {
println("老年人")
}
}
5.2 循环语句
重复执行相同的操作:
main() {
// for 循环 - 计数循环
println("倒计时:")
for (i in 5..0) {
println(i)
}
println("发射!🚀")
// 打印乘法表
println("\n九九乘法表:")
for (i in 1..9) {
for (j in 1..i) {
print("${j}x${i}=${i*j}\t")
}
println("")
}
// while 循环 - 条件循环
var count = 0
while (count < 5) {
println("第${count + 1}次循环")
count += 1
}
}
循环控制:
main() {
// break - 跳出循环
for (i in 1..10) {
if (i == 5) {
break // 到5就停止
}
println(i)
}
// continue - 跳过本次循环
for (i in 1..10) {
if (i % 2 == 0) {
continue // 跳过偶数
}
println(i) // 只打印奇数
}
}
函数基础
6.1 函数定义
函数是可重复使用的代码块:
// 简单函数
func sayHello() {
println("你好!")
}
// 带参数的函数
func greet(name: String) {
println("你好,${name}!")
}
// 带返回值的函数
func add(a: Int64, b: Int64): Int64 {
return a + b
}
main() {
sayHello()
greet("小明")
let sum = add(10, 20)
println("10 + 20 = ${sum}")
}
6.2 参数与返回值
更多函数的使用方式:
// 多个参数
func introduce(name: String, age: Int64, city: String) {
println("我叫${name},${age}岁,来自${city}")
}
// 默认参数
func makeCoffee(size: String = "中杯", sugar: Int64 = 1) {
println("制作${size}咖啡,${sugar}份糖")
}
// 返回多个值(使用元组)
func getMinMax(numbers: Array<Int64>): (Int64, Int64) {
let min = numbers.min()
let max = numbers.max()
return (min, max)
}
main() {
introduce("李华", 20, "上海")
makeCoffee() // 使用默认值
makeCoffee("大杯", 2) // 指定值
let scores = [85, 92, 78, 95, 88]
let (lowest, highest) = getMinMax(scores)
println("最低分:${lowest},最高分:${highest}")
}
集合类型
7.1 数组
数组用于存储一组相同类型的数据:
main() {
// 创建数组
let fruits = ["苹果", "香蕉", "橙子", "葡萄"]
// 访问元素
println("第一个水果:${fruits[0]}")
println("第三个水果:${fruits[2]}")
// 数组长度
println("共有${fruits.size}种水果")
// 遍历数组
println("\n所有水果:")
for (fruit in fruits) {
println("- ${fruit}")
}
// 可变数组
var scores = [85, 90, 78]
scores.append(95) // 添加元素
println("成绩:${scores}")
// 数组操作
let numbers = [1, 2, 3, 4, 5]
let doubled = numbers.map({x => x * 2}) // [2, 4, 6, 8, 10]
let evens = numbers.filter({x => x % 2 == 0}) // [2, 4]
println("翻倍:${doubled}")
println("偶数:${evens}")
}
7.2 字典
字典用于存储键值对:
main() {
// 创建字典
let person = [
"name": "张三",
"age": "25",
"city": "深圳"
]
// 访问值
println("姓名:${person["name"]}")
println("年龄:${person["age"]}")
// 可变字典
var scores = ["语文": 85, "数学": 92, "英语": 88]
scores["物理"] = 90 // 添加新项
println("\n成绩单:")
for ((subject, score) in scores) {
println("${subject}:${score}分")
}
}
类与对象入门
面向对象编程让代码更有组织性:
// 定义一个学生类
class Student {
var name: String
var age: Int64
var grade: String
// 构造函数
init(name: String, age: Int64, grade: String) {
this.name = name
this.age = age
this.grade = grade
}
// 方法
func introduce() {
println("我是${name},${age}岁,读${grade}")
}
func study(subject: String) {
println("${name}正在学习${subject}")
}
}
main() {
// 创建对象
let student1 = Student("小明", 15, "初三")
let student2 = Student("小红", 16, "高一")
// 调用方法
student1.introduce()
student1.study("数学")
student2.introduce()
student2.study("英语")
}
实战项目:简易计算器
让我们综合运用所学知识,做一个实用的小项目!
class Calculator {
func add(a: Float64, b: Float64): Float64 {
return a + b
}
func subtract(a: Float64, b: Float64): Float64 {
return a - b
}
func multiply(a: Float64, b: Float64): Float64 {
return a * b
}
func divide(a: Float64, b: Float64): Float64 {
if (b == 0) {
println("错误:除数不能为0")
return 0.0
}
return a / b
}
func showMenu() {
println("\n=== 简易计算器 ===")
println("1. 加法")
println("2. 减法")
println("3. 乘法")
println("4. 除法")
println("5. 退出")
}
}
main() {
let calc = Calculator()
println("欢迎使用计算器!")
// 示例计算
let num1 = 10.0
let num2 = 3.0
println("\n第一个数:${num1}")
println("第二个数:${num2}")
println("\n计算结果:")
println("${num1} + ${num2} = ${calc.add(num1, num2)}")
println("${num1} - ${num2} = ${calc.subtract(num1, num2)}")
println("${num1} × ${num2} = ${calc.multiply(num1, num2)}")
println("${num1} ÷ ${num2} = ${calc.divide(num1, num2)}")
}
运行结果:
欢迎使用计算器!
第一个数:10.0
第二个数:3.0
计算结果:
10.0 + 3.0 = 13.0
10.0 - 3.0 = 7.0
10.0 × 3.0 = 30.0
10.0 ÷ 3.0 = 3.333333
快快开始你的仓颉编程之旅吧!🚀
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)