📜  Swift运算符(1)

📅  最后修改于: 2023-12-03 15:35:13.149000             🧑  作者: Mango

Swift运算符

Swift是一种现代化的编程语言,支持多种运算符用于操作数学运算、位运算、逻辑运算以及区间运算等。本文将介绍Swift的各种运算符以及其使用。

算数运算符

Swift支持常见的算数运算符,包括加法、减法、乘法、除法和求余数。例如:

let a = 10
let b = 3
let c = a + b  // 13
let d = a - b  // 7
let e = a * b  // 30
let f = a / b  // 3
let g = a % b  // 1

Swift还支持增量赋值运算符,例如+=-=*=/=,用于在原有的数值上进行加减乘除运算。

比较运算符

Swift支持各种比较运算符,包括><>=<===!=。例如:

let a = 10
let b = 3
let c = a > b  // true
let d = a < b  // false
let e = a >= b  // true
let f = a <= b  // false
let g = a == b  // false
let h = a != b  // true

注意,在Swift中,比较运算符返回的结果是Bool类型,即truefalse

逻辑运算符

Swift支持逻辑运算符,包括&&||!。例如:

let a = true
let b = false
let c = a && b  // false
let d = a || b  // true
let e = !a  // false

逻辑运算符用于Boolean类型的运算。

区间运算符

Swift支持两种区间运算符,包括闭区间运算符和半闭区间运算符。闭区间运算符用...表示,半闭区间运算符用..<表示。例如:

let a = 1...10  // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
let b = 1..<10  // [1, 2, 3, 4, 5, 6, 7, 8, 9]

在上述例子中,闭区间运算符返回了1到10之间的所有整数,包括1和10;半闭区间运算符返回了1到9之间的所有整数,不包括10。

位运算符

Swift支持各种位运算符,包括按位与、按位或、按位异或和按位取反。例如:

let a: UInt8 = 0b10101010
let b: UInt8 = 0b11001100
let c = a & b  // 0b10001000
let d = a | b  // 0b11101110
let e = a ^ b  // 0b01100110
let f = ~a  // 0b01010101

在上述例子中,ab分别表示二进制数0b10101010和0b11001100。按位与运算返回的结果是0b10001000,按位或运算返回的结果是0b11101110,按位异或运算返回的结果是0b01100110,按位取反运算返回的结果是0b01010101。

另外,Swift还支持移位运算符,包括左移运算符<<和右移运算符>>。移位运算符的作用是将二进制数向左或向右移动指定位数。例如:

let a: UInt8 = 0b00001111
let b = a << 2  // 0b00111100
let c = a >> 2  // 0b00000011

在上述例子中,a表示二进制数0b00001111。左移运算符<<将0b00001111向左移动2位,返回的结果是0b00111100;右移运算符>>将0b00001111向右移动2位,返回的结果是0b00000011。

恒等运算符

Swift支持两种恒等运算符,包括恒等运算符===和不恒等运算符!==。这两个运算符用于判断两个实例对象是否引用同一个实例。例如:

class MyClass {}
let obj1 = MyClass()
let obj2 = MyClass()
let obj3 = obj1
let a = obj1 === obj2  // false
let b = obj1 === obj3  // true
let c = obj1 !== obj2  // true
let d = obj1 !== obj3  // false

在上述例子中,MyClass是一个类,obj1obj2都是这个类的实例对象,但是它们引用了不同的实例;obj3引用和obj1相同的实例。恒等运算符===和不恒等运算符!==的返回结果都是Bool类型。

总结

本文介绍了Swift的各种运算符,包括算数运算符、比较运算符、逻辑运算符、区间运算符、位运算符和恒等运算符。这些运算符能够满足各种不同的编程需求,使得Swift成为非常灵活和强大的编程语言。