Tailwind CSSTailwind CSS
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain

3.2 操作符与表达式

在仓颉编程语言中,操作符与表达式是构建程序逻辑的基础。本节将详细介绍仓颉语言中常用的操作符类型及其使用方法,以及如何通过表达式组合这些操作符来实现复杂的逻辑。

3.2.1 操作符的分类

仓颉语言中的操作符可以分为以下几类:

  1. 算术操作符
    用于执行基本的数学运算,包括:

    • +:加法
    • -:减法
    • *:乘法
    • /:除法
    • %:取模(求余数)
    • **:幂运算

    示例:

    a = 10
    b = 3
    c = a + b  # 结果为 13
    d = a ** b # 结果为 1000
    
  2. 比较操作符
    用于比较两个值的大小或相等性,返回布尔值(true 或 false):

    • ==:等于
    • !=:不等于
    • >:大于
    • <:小于
    • >=:大于等于
    • <=:小于等于

    示例:

    x = 5
    y = 10
    result = x < y  # 结果为 true
    
  3. 逻辑操作符
    用于组合多个布尔表达式:

    • &&:逻辑与(AND)
    • ||:逻辑或(OR)
    • !:逻辑非(NOT)

    示例:

    a = true
    b = false
    c = a && b  # 结果为 false
    d = a || b  # 结果为 true
    e = !a      # 结果为 false
    
  4. 赋值操作符
    用于将值赋给变量:

    • =:基本赋值
    • +=、-=、*=、/=、%=:复合赋值

    示例:

    x = 5
    x += 3  # 等价于 x = x + 3,结果为 8
    
  5. 位操作符
    用于对二进制位进行操作:

    • &:按位与
    • |:按位或
    • ^:按位异或
    • ~:按位取反
    • <<:左移
    • >>:右移

    示例:

    a = 5  # 二进制 0101
    b = 3  # 二进制 0011
    c = a & b  # 结果为 1 (二进制 0001)
    
  6. 其他操作符

    • ?::三元条件操作符
    • ..:范围操作符(用于生成序列)

    示例:

    x = 10
    y = x > 5 ? "大于5" : "小于等于5"  # 结果为 "大于5"
    range = 1..5  # 生成序列 [1, 2, 3, 4, 5]
    

3.2.2 表达式的组成与优先级

表达式是由操作符、操作数和括号组成的组合,用于计算值。仓颉语言中的表达式遵循以下优先级规则(从高到低):

  1. 括号 ()
  2. 一元操作符(如 !、~)
  3. 算术操作符(**、*、/、%、+、-)
  4. 比较操作符(==、!=、>、<、>=、<=)
  5. 逻辑操作符(&&、||)
  6. 赋值操作符(=、+=、-= 等)

示例:

a = 5
b = 10
c = (a + b) * 2  # 先计算 a + b,再乘以 2,结果为 30
d = a > 5 && b < 20  # 先比较 a > 5 和 b < 20,再进行逻辑与运算

3.2.3 操作符的重载

仓颉语言支持操作符重载,允许用户为自定义类型定义操作符的行为。例如,可以为自定义的 Vector 类型实现加法操作符 +:

class Vector:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __add__(self, other):
        return Vector(self.x + other.x, self.y + other.y)

v1 = Vector(1, 2)
v2 = Vector(3, 4)
v3 = v1 + v2  # 结果为 Vector(4, 6)

3.2.4 注意事项

  1. 类型一致性:操作符的操作数类型必须一致,否则会引发类型错误。例如,不能直接将字符串与数字相加。
  2. 短路求值:逻辑操作符 && 和 || 支持短路求值。如果第一个操作数已经能确定结果,则不会计算第二个操作数。
  3. 操作符优先级:在复杂的表达式中,建议使用括号明确优先级,避免歧义。

通过掌握操作符与表达式的使用方法,您可以在仓颉语言中编写出高效且易读的代码。在下一节中,我们将深入探讨控制流的相关内容。

Last Updated:: 3/18/25, 4:00 PM