算术运算符 #

一、基本算术运算符 #

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