美文网首页
Swift笔记二:基本运算符

Swift笔记二:基本运算符

作者: 面试小集 | 来源:发表于2017-08-30 15:44 被阅读14次

组合赋值运算符

Swift

let a = 10;
let b = a += 10;  //报错

Objective-C

NSInteger a = 10;
NSInteger b = a += 10;
NSLog(@"%d", b);  //20

Swift中复合赋值运算没有返回值。

元组比较大小

(1, "zebra") < (2, "apple")   // true,因为 1 小于 2
(3, "apple") < (3, "bird")    // true,因为 3 等于 3,但是 apple 小于 bird
(4, "dog") == (4, "dog")      // true,因为 4 等于 4,dog 等于 dog

空合运算符(Nil Coalescing Operator)

空合运算符:(a ?? b) 将对可选类型 a 进行空判断,如果 a 包含一个值就进行解封,否则就返回一个默认值 b。

let defaultColorName = "red"
var userDefinedColorName: String?   //默认值为 nil

var colorNameToUse = userDefinedColorName ?? defaultColorName
// userDefinedColorName 的值为空,所以 colorNameToUse 的值为 "red"

区间运算符

闭区间运算符

闭区间运算符: (a…b), a到b, 包含a和b。 a不能超过b。

半开区间运算符

半开区间运算符(a...<b), a到b, 但不包括b的区间。

let names = ["Anna", "Alex", "Brian", "Jack"]
let count = names.count
for i in 0..<count {
    print("第 \(i + 1) 个人叫 \(names[i])")
}

溢出运算符

在默认情况下,当向一个整数赋予超过它的容量值时,Swift默认会报错,而不是生成一个无效的数。

var potentialOverflow = Int16.max
// potentialOverflow 的值是 32767,这是 Int16 能容纳的最大整数
potentialOverflow += 1
  • 溢出加 &+
  • 溢出减 &-
  • 溢出乘 &*

demo1: &+

var unsignedOverflow = UInt8.max
// unsignedOverflow 等于 UInt8 所能容纳的最大整数 255
unsignedOverflow = unsignedOverflow &+ 1
// 此时 unsignedOverflow 等于 0

demo2: &-

var unsignedOverflow = UInt8.min
// unsignedOverflow 等于 UInt8 所能容纳的最小整数 0
unsignedOverflow = unsignedOverflow &- 1
// 此时 unsignedOverflow 等于 255

demo3: 有符号,符号位参与运算

var signedOverflow = Int8.min
// signedOverflow 等于 Int8 所能容纳的最小整数 -128
signedOverflow = signedOverflow &- 1
// 此时 signedOverflow 等于 127

相关文章

  • swift 运算符

    Swift 基本运算符 标签(空格分隔): swift 运算符 zybuluo swift 运算符 特性 赋值运算...

  • 赋值和算数运算符

    基本概念 一元运算符、二元运算符、三元运算符Swift 只有一个三元运算符 a ? b : c Swift 运算符...

  • swift笔记二(基本运算符)

    赋值运算符 赋值运算 a = b, 表示用 b 的值来初始化或更新 a 的值. 如果赋值的右边是一个多元组, 它的...

  • Swift笔记二:基本运算符

    组合赋值运算符 Swift Objective-C Swift中复合赋值运算没有返回值。 元组比较大小 空合运算符...

  • 语法目录

    第二章 Swift教程 2.1 基础部分(The Basics) 2.2 基本运算符(Basic Operator...

  • Swift 2.0 学习笔记 2_基本运算符

    //: 基本运算符 // Swift的赋值符(=)不返回值, 算术运算符(+, -, *, /, % 等)会检测并...

  • Operators(运算符)

    基本运算符 Swift 和其他编程语言一样, 有+, -, *, / 等运算符, = 代表赋值符号 复合运算符 有...

  • 27、【Swift】高级运算符 - Advanced Opera

    Swift 运算符基本运算符高级运算符(包括 C 或 Objective-C 所有按位和移位运算符。) 与 C 的...

  • Swift高级运算符

    Swift相比OC在运算符上做了一些改变, 但是基本的运算符,比如 +,-,*,/,%, 逻辑运算符,比如 &&,...

  • Swift学习笔记(基本运算符)

    1.术语 运算符分为 一元/二元/三元 运算符 一元运算符对单一对象(如 -a)。一元运算符分前置运算符和后置运算...

网友评论

      本文标题:Swift笔记二:基本运算符

      本文链接:https://www.haomeiwen.com/subject/ucatjxtx.html