swift中的运算符

前端之家收集整理的这篇文章主要介绍了swift中的运算符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

运算符是一个符号,用于告诉编译器执行一个数学或逻辑运算。

Swift 主要提供了以下6种运算符

1、算术运算符:加+、减-、乘*、除/、求余%、自加++、自减--

2、比较运算符:等于==、不等于!=、大于>、小于<、小于等于<=、大于等于>=

3、逻辑运算符:逻辑与&&、逻辑或||、逻辑非(取反)!

4、位运算符:按位与&、按位或|、按位异或^、按位取反~、左移<<、右移>>

5、赋值运算符:等号=、相加后等于+=、相减后等于-=、相乘后等于*=、相除后等于/=、求余后等于%=、按位左移后等于<<=、按位右移后等于>>=、按位与运算后等于&=、按位或后等于|=、按位异或后等于^=

6、区间运算符:闭区间a...b、半开区间a..<b


  1. // 算术运算符:
  2. var num011:Int = 10
  3. var num012:Int = 4
  4. var numResult:Int?
  5. // + 加号
  6. numResult = num011 + num012
  7. print(numResult)
  8. // − 减号
  9. numResult = num011 - num012
  10. print(numResult)
  11. // * 乘号
  12. numResult = num011 * num012
  13. print(numResult)
  14. // / 除号
  15. numResult = num011 / num012
  16. print(numResult)
  17. // % 求余
  18. numResult = num011 % num012
  19. print(numResult)
  20. // ++ 自增
  21. print(num011)
  22. num011++
  23. print(num011)
  24. ++num011
  25. print(num011)
  26. // -- 自减
  27. print(num012)
  28. num012--
  29. print(num012)
  30. --num012
  31. print(num012)

  1. // 比较运算符:
  2. let num021 = 10
  3. let num022 = 5
  4. // == 等于
  5. print("\(num021) == \(num022) 的结果为:\(num021 == num022)")
  6. // != 不等于
  7. print("\(num021) != \(num022) 的结果为:\(num021 != num022)")
  8. // > 大于
  9. print("\(num021) > \(num022) 的结果为:\(num021 > num022)")
  10. // < 小于
  11. print("\(num021) < \(num022) 的结果为:\(num021 < num022)")
  12. // >= 大于等于
  13. print("\(num021) >= \(num022) 的结果为:\(num021 >= num022)")
  14. // <= 小于等于
  15. print("\(num021) <= \(num022) 的结果为:\(num021 <= num022)")
  1. // 逻辑运算符(参数类型必须为bool布尔值类型)
  2. let num031 = true
  3. let num032 = false
  4. // && 逻辑与,左右两边同时成立
  5. print("\(num031) && \(num032) 的结果为:\(num031 && num032)")
  6. // || 逻辑或,左右两边至少一边成立
  7. print("\(num031) || \(num032) 的结果为:\(num031 || num032)")
  8. // ! 逻辑非,取反
  9. print("!\(num031) 的结果为:\(!num031)")
  1. // 位运算符(对二进制进行操作)
  2. let num041 = 60 // 0011 1100
  3. let num042 = 13 // 0000 1101
  4. // & 按位与
  5. print("\(num041) & \(num042) 的结果为:\(num041 & num042)")
  6. // | 按位或
  7. print("\(num041) | \(num042) 的结果为:\(num041 | num042)")
  8. // ^ 按位异或
  9. print("\(num041) ^ \(num042) 的结果为:\(num041 ^ num042)")
  10. // ~ 按位取反
  11. print("~\(num041) 的结果为:\(~num041)")
  12. // << 左移
  13. print("\(num041) << \(num042) 的结果为:\(num041 << num042)")
  14. // >> 右移
  15. print("\(num041) >> \(num042) 的结果为:\(num041 >> num042)")
  1. // 赋值运算符
  2. var num051 = 5
  3. var num052 = 3
  4. var num053:Int
  5. // = 简单的赋值运算,指定右边操作数赋值给左边的操作数
  6. num053 = num051 + num052
  7. print("num053 = \(num053)")
  8. // += 相加后再赋值,将左右两边的操作数相加后再赋值给左边的操作数
  9. num053 += num051
  10. print("num053 = \(num053)")
  11. // -= 相减后再赋值,将左右两边的操作数相减后再赋值给左边的操作数
  12. num053 -= num052
  13. print("num053 = \(num053)")
  14. // *= 相乘后再赋值,将左右两边的操作数相乘后再赋值给左边的操作数
  15. num053 *= num051
  16. print("num053 = \(num053)")
  17. // /= 相除后再赋值,将左右两边的操作数相除后再赋值给左边的操作数
  18. num053 /= num052
  19. print("num053 = \(num053)")
  20. // %= 求余后再赋值,将左右两边的操作数求余后再赋值给左边的操作数
  21. num053 %= num051
  22. print("num053 = \(num053)")
  23. // <<= 按位左移后再赋值
  24. num053 <<= num051
  25. print("num053 = \(num053)")
  26. // >>= 按位右移后再赋值
  27. num053 >>= num051
  28. print("num053 = \(num053)")
  29. // &= 按位与运算后赋值
  30. num053 &= num051
  31. print("num053 = \(num053)")
  32. // ^= 按位异或运算符后再赋值
  33. num053 ^= num051
  34. print("num053 = \(num053)")
  35.  
  36. // |= 按位或运算后再赋值
  37. num053 |= num051
  38. print("num053 = \(num053)")
  1. // 区间运算符
  2. // 闭区间运算符:(a...b),如(1...5),表示区间值1,2,3,4,5
  3. for i in 1...10
  4. {
  5. print("index = \(i)")
  6. }
  7. // 半开区间运算符:(a..<b),如(1..<5),表示区间值1,4
  8. for i in 1..<5
  9. {
  10. print("index = \(i)")
  11. }
  1. // 其他运算符
  2. var num071 = 5
  3. var num072:Int
  4. //(1)一元减:(-n),如(-1)
  5. num072 = -num071
  6. print("num072 = \(num072)")
  7. //(2)一元加:(+n),如(+1)
  8. num072 = +num071
  9. print("num072 = \(num072)")
  10. //(3)三元运算符:(条件?语句1:语句2),如(1 > 0 ? yes : no)
  11. print("(\(num071) > 0 ? YES : NO) = \(num071 > 0 ? "YES" : "NO")")

运算符优先级

1、指针最优,单目运算优于双目运算。如正负号。

2、先乘除(模),后加减。

3、先算术运算,后移位运算,最后位运算。

请特别注意:1 << 3 + 2 & 7 等价于 (1 << (3 + 2)) & 7

4、逻辑运算最后计算

猜你在找的Swift相关文章