Swift Academy · 课时

比较运算符与身份运算符

使用 ==、!=、 比较值,并使用 === 判断身份。

第 2 / 4 课13 个步骤

比较运算符与身份运算符 是 CoddyKit 上的免费 Swift Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Swift Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Swift Academy 课程共包含 4 节课。

比较运算符

比较运算符会提出一个是或否的问题,并返回一个 Bool。Swift 提供 ==、!=、<、>、<= 和 >=。

print(3 == 3)
print(5 != 2)
print(4 < 10)

相等与不等

== 检查两个值是否相等;!= 检查它们是否不同。这些运算符适用于 numbers、字符串以及许多 other 类型。

let a = "swift"
let b = "Swift"
print(a == b)
print(a != b)

小于与大于

< 和 > 用于比较顺序。它们是排序和范围 check 的基础。

let temperature = 22
print(temperature > 18)
print(temperature < 0)

小于等于与大于等于

<= 和 >= 会将边界值包括在内。当阈值本身也应通过检查时,它们非常有用。

let score = 60
print("Pass:", score >= 60)
print("Perfect or less:", score <= 100)

条件中的比较

比较结果会驱动 if 语句和循环,让程序能够做出决定。

let age = 17
if age >= 18 {
    print("Adult")
} else {
    print("Minor")
}

比较字符串

字符串会使用统一码按字典序进行比较。== 会检查是否 exact 相等。

print("apple" < "banana")
print("Zoo" < "apple")
print("cat" == "cat")

使用逻辑运算符连接比较

您可以使用逻辑运算符组合多个比较,以表达范围等条件,例如检查某个值是否落在上下界之间。

let value = 7
let inRange = value >= 1 && value <= 10
print("In range 1...10:", inRange)

值类型按内容比较

对于 Int 和 String 等值类型,== 会比较实际内容。结构相等的两个值就是相等的。

let point1 = (x: 1, y: 2)
let point2 = (x: 1, y: 2)
print(point1 == point2)

使用三等号比较引用标识

类是引用类型。标识运算符 === 会检查两个引用是否指向内存中的 exact 同一个对象,而不是检查它们的内容是否匹配。

class Box { var n: Int; init(_ n: Int) { self.n = n } }
let x = Box(5)
let y = x
print(x === y)

使用三不等号比较非标识

!== 与 === 相反。两个包含相同数据的独立对象也不是同一个对象。

class Box { var n: Int; init(_ n: Int) { self.n = n } }
let a = Box(5)
let b = Box(5)
print(a === b)
print(a !== b)

标识与相等

只有在使用类时,才使用 === 来询问两个引用是否指向同一个实例。使用 == 检查值是否相等。它们回答的是不同的问题。

class Box { var n: Int; init(_ n: Int) { self.n = n } }
let first = Box(1)
let alias = first
let other = Box(1)
print("same object:", first === alias)
print("different object:", first === other)

快速检查

思考类实例之间的标识与相等有何不同。

回顾:比较与标识

您已经学习了使用 == != < > <= >= 进行顺序和相等比较,了解了值类型按内容比较,以及类额外提供 === / !== 来检查两个引用是否指向同一个实例。

class Node { var v: Int; init(_ v: Int) { self.v = v } }
let n1 = Node(3)
let n2 = n1
print("equal value check:", n1.v == n2.v)
print("same instance:", n1 === n2)
免费开始

用 AI 导师学习 Swift — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
122
课程
409

常见问题解答

「比较运算符与身份运算符」课时是免费的吗?

是的 — 「比较运算符与身份运算符」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Swift Academy 课程的其余内容,请升级到 CoddyKit PRO。 Swift Academy 课程共包含 4 节课。

「比较运算符与身份运算符」这节课中我会学到什么?

使用 ==、!=、 比较值,并使用 === 判断身份。 你通过在浏览器中直接运行的动手代码来练习 Swift Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Swift Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Swift Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「比较运算符与身份运算符」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Swift Academy 课中编写并运行代码吗?

能。每节 Swift Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 算术与复合赋值运算符
  2. 比较运算符与身份运算符
  3. 逻辑运算符与短路求值
  4. 位运算符与溢出运算符
← 返回 Swift Academy