算术运算符 #
一、基本算术运算符 #
1.1 四则运算 #
swift
let a = 10
let b = 3
let sum = a + b
let difference = a - b
let product = a * b
let quotient = a / b
let remainder = a % b
print("加法: \(a) + \(b) = \(sum)")
print("减法: \(a) - \(b) = \(difference)")
print("乘法: \(a) * \(b) = \(product)")
print("除法: \(a) / \(b) = \(quotient)")
print("取余: \(a) % \(b) = \(remainder)")
1.2 浮点数运算 #
swift
let x = 10.0
let y = 3.0
let result = x / y
print(result)
let pi = 3.14159
let rounded = pi.truncatingRemainder(dividingBy: 1.0)
print(rounded)
1.3 字符串拼接 #
swift
let firstName = "张"
let lastName = "三"
let fullName = firstName + lastName
print(fullName)
var greeting = "Hello"
greeting += ", World!"
print(greeting)
二、取余运算符 #
2.1 基本用法 #
swift
print(10 % 3)
print(-10 % 3)
print(10 % -3)
print(-10 % -3)
2.2 浮点数取余 #
swift
print(10.5.truncatingRemainder(dividingBy: 3.0))
print(8.5.remainder(dividingBy: 3.0))
2.3 实际应用 #
swift
func isEven(_ number: Int) -> Bool {
return number % 2 == 0
}
print(isEven(4))
print(isEven(7))
func getMinutes(seconds: Int) -> (minutes: Int, seconds: Int) {
return (seconds / 60, seconds % 60)
}
let time = getMinutes(seconds: 125)
print("\(time.minutes)分\(time.seconds)秒")
三、一元运算符 #
3.1 一元减号 #
swift
let positive = 5
let negative = -positive
print(negative)
let a = -10
let b = -a
print(b)
3.2 一元加号 #
swift
let minusFive = -5
let plusFive = +minusFive
print(plusFive)
let six = 6
let alsoSix = +six
print(alsoSix)
四、复合赋值运算符 #
4.1 基本用法 #
swift
var a = 10
a += 5
print(a)
a -= 3
print(a)
a *= 2
print(a)
a /= 4
print(a)
a %= 3
print(a)
4.2 复合赋值运算符表 #
| 运算符 | 示例 | 等价于 |
|---|---|---|
| += | a += b | a = a + b |
| -= | a -= b | a = a - b |
| *= | a *= b | a = a * b |
| /= | a /= b | a = a / b |
| %= | a %= b | a = a % b |
五、溢出运算符 #
Swift默认不允许数值溢出,但可以使用溢出运算符:
5.1 溢出加法(&+) #
swift
var maxInt = Int8.max
print(maxInt)
let overflow = maxInt &+ 1
print(overflow)
5.2 溢出减法(&-) #
swift
var minInt = Int8.min
print(minInt)
let underflow = minInt &- 1
print(underflow)
5.3 溢出乘法(&*) #
swift
let a: Int8 = 20
let b: Int8 = 20
let result = a &* b
print(result)
5.4 溢出除法和取余 #
swift
let x: Int8 = -128
let y = x &/ 2
print(y)
let z = x &% 3
print(z)
六、自增自减运算符 #
Swift 3+ 移除了 ++ 和 -- 运算符,改用 += 和 -=:
6.1 替代写法 #
swift
var counter = 0
counter += 1
print(counter)
counter -= 1
print(counter)
6.2 前置和后置的区别 #
swift
var a = 5
print(a)
a += 1
print(a)
var b = 5
b -= 1
print(b)
七、运算符优先级 #
7.1 基本优先级 #
swift
let result = 2 + 3 * 4
print(result)
let result2 = (2 + 3) * 4
print(result2)
7.2 复杂表达式 #
swift
let a = 10
let b = 5
let c = 2
let result = a + b * c - a / c
print(result)
let result2 = (a + b) * (c - a / c)
print(result2)
八、类型转换与运算 #
8.1 整数与浮点数 #
swift
let intVal = 10
let doubleVal = 3.14
let result1 = Double(intVal) + doubleVal
print(result1)
let result2 = intVal + Int(doubleVal)
print(result2)
8.2 不同整数类型 #
swift
let int8: Int8 = 10
let int16: Int16 = 20
let result = Int(int8) + Int(int16)
print(result)
九、数学函数 #
9.1 常用函数 #
swift
import Foundation
print(abs(-10))
print(max(5, 10))
print(min(5, 10))
print(sqrt(16.0))
print(pow(2.0, 3.0))
9.2 取整函数 #
swift
let value = 3.7
print(value.rounded())
print(value.rounded(.down))
print(value.rounded(.up))
print(Int(value))
9.3 三角函数 #
swift
import Foundation
let angle = Double.pi / 4
print(sin(angle))
print(cos(angle))
print(tan(angle))
十、实际应用 #
10.1 计算平均值 #
swift
func average(_ numbers: Double...) -> Double {
if numbers.isEmpty { return 0 }
let sum = numbers.reduce(0, +)
return sum / Double(numbers.count)
}
print(average(1, 2, 3, 4, 5))
10.2 温度转换 #
swift
func celsiusToFahrenheit(_ celsius: Double) -> Double {
return celsius * 9 / 5 + 32
}
func fahrenheitToCelsius(_ fahrenheit: Double) -> Double {
return (fahrenheit - 32) * 5 / 9
}
print(celsiusToFahrenheit(100))
print(fahrenheitToCelsius(212))
10.3 计算折扣 #
swift
func calculateDiscount(price: Double, discount: Double) -> Double {
return price * (1 - discount / 100)
}
let originalPrice = 100.0
let discountRate = 20.0
let finalPrice = calculateDiscount(price: originalPrice, discount: discountRate)
print("原价: \(originalPrice), 折扣: \(discountRate)%, 实付: \(finalPrice)")
十一、总结 #
本章学习了Swift的算术运算符:
- 基本运算:加、减、乘、除、取余
- 复合赋值:+=、-=、*=、/=、%=
- 溢出运算:&+、&-、&*
- 一元运算:正号、负号
最佳实践:
- 注意整数除法的精度问题
- 使用括号明确运算优先级
- 注意数值溢出问题
- 合理使用类型转换
下一章,我们将学习比较运算符!
最后更新:2026-03-26