「Mac玩转仓颉内测版25」基础篇5 - 布尔类型详解

本篇将介绍 Cangjie 中的布尔类型,包括布尔值的定义、运算操作符、逻辑运算、布尔类型的常见应用场景及其在条件判断中的应用,帮助开发者理解和使用布尔类型。


关键词
  • 布尔类型定义
  • 布尔运算
  • 逻辑运算符
  • 条件判断
  • 常见应用场景

一、布尔类型概述

布尔类型(Boolean)在 Cangjie 中用于表示逻辑值,即 truefalse 两种状态。布尔类型是条件判断、逻辑表达式和流程控制中不可或缺的一部分。

  • 布尔常量 :布尔类型的值只能是 truefalse
  • 布尔变量:可以通过布尔表达式来定义布尔变量,例如:
cangjie 复制代码
let isStudent: Bool = true
let isActive: Bool = false

二、布尔运算符

Cangjie 支持以下布尔运算符,用于执行布尔逻辑运算:

运算符 描述 示例 结果
&& 与运算 true && false false
|| 或运算 true || false true
! 非运算 !true false

示例

cangjie 复制代码
let a: Bool = true
let b: Bool = false

println("a && b: ${a && b}")  // 输出: false
println("a || b: ${a || b}")  // 输出: true
println("!a: ${!a}")          // 输出: false

三、关系运算符

布尔类型还可以通过关系运算符从数值比较中获得,用于判断数值之间的大小关系,结果为 truefalse

运算符 描述 示例 结果
== 等于 5 == 5 true
!= 不等于 5 != 3 true
> 大于 5 > 3 true
< 小于 3 < 5 true
>= 大于等于 5 >= 5 true
<= 小于等于 3 <= 5 true

示例

cangjie 复制代码
let x = 10
let y = 5

println("x > y: ${x > y}")     // 输出: true
println("x == y: ${x == y}")   // 输出: false
println("x != y: ${x != y}")   // 输出: true

四、布尔类型在条件判断中的应用

布尔类型常用于条件语句中,以控制代码逻辑流。Cangjie 中主要使用 ifelse 语句:

示例

cangjie 复制代码
let isLoggedIn: Bool = true

if (isLoggedIn) {
    println("欢迎回来!")
} else {
    println("请先登录。")
}

输出:

plaintext 复制代码
欢迎回来!

在上述代码中,如果 isLoggedIntrue,将输出欢迎语句,否则输出登录提示。


五、布尔类型的常见应用场景

布尔类型在逻辑判断中扮演关键角色,以下是常见的应用场景:

5.1 循环控制

布尔类型可用于循环中的条件判断,例如 while 循环:

cangjie 复制代码
var count = 0
while (count < 5) {
    println("计数: ${count}")
    count += 1
}

输出:

plaintext 复制代码
计数: 0
计数: 1
计数: 2
计数: 3
计数: 4
5.2 标记判断

布尔类型常用于标记判断,如用户权限判断:

cangjie 复制代码
let isAdmin: Bool = true
let isLoggedIn: Bool = true
let hasAccess = isAdmin || isLoggedIn  // 管理员或登录用户可以访问

if (hasAccess) {
    println("访问已授予")
} else {
    println("访问被拒绝")
}

输出:

plaintext 复制代码
访问已授予

小结

本篇介绍了 Cangjie 中的布尔类型,涵盖了布尔类型的定义、逻辑运算符、关系运算符及其在条件判断和循环控制中的应用,帮助开发者更高效地控制程序逻辑。


下篇预告

下一篇将介绍 Cangjie 的 字符类型 ,深入讲解字符类型的定义、常用操作及在文本处理中的应用,敬请关注 「Mac玩转仓颉内测版26」基础篇6 - 字符类型详解


上一篇: 「Mac玩转仓颉内测版24」基础篇4 - 浮点类型详解
下一篇: 「Mac玩转仓颉内测版26」基础篇6 - 字符类型详解

作者:SoraLuna

链接:https://www.nutpi.net/thread?topicId=211

來源:坚果派

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


相关推荐
源代码•宸2 分钟前
分布式缓存-GO(分布式算法之一致性哈希、缓存对外服务化)
开发语言·经验分享·分布式·后端·算法·缓存·golang
云和数据.ChenGuang13 分钟前
PHP-FPM返回的File not found.”的本质
开发语言·php·运维工程师·运维技术
R.lin29 分钟前
Java 8日期时间API完全指南
java·开发语言·python
yongui4783441 分钟前
MATLAB的指纹识别系统实现
算法
高山上有一只小老虎42 分钟前
翻之矩阵中的行
java·算法
yangpipi-1 小时前
《C++并发编程实战》 第4章 并发操作的同步
开发语言·c++
jghhh011 小时前
RINEX文件进行卫星导航解算
算法
火钳游侠1 小时前
java单行注释,多行注释,文档注释
java·开发语言
爱思德学术1 小时前
中国计算机学会(CCF)推荐学术会议-A(计算机科学理论):LICS 2026
算法·计算机理论·计算机逻辑
CVHub1 小时前
多模态图文训推一体化平台 X-AnyLabeling 3.0 版本正式发布!首次支持远程模型推理服务,并新增 Qwen3-VL 等多款主流模型及诸多功能特性,等
算法