swift中的基本运算符BasicOperators

来源:互联网 发布:方正飞腾软件快捷方式 编辑:程序博客网 时间:2024/06/04 18:52

swift中的基本运算符:赋值运算符、数学运算符(包括取余, 余数运算符、浮点数取余、增量与减量运算符、复合赋值操作符和一元减运算符)、比较运算符、三目运算符、范围运算符(包括封闭范围运算符和半封闭区域运算符)、逻辑运算符(!、&&、||以及复合运算符)…

赋值运算符

let b = 10var a = 5a = bprintln(a)

/*
//与C及Objective-C不同,Swift中赋值运算符并不将自身作为一个值进行返回。所以以下的代码是不合法的:
//此特性帮助你避免因粗心将 等于(==)写成 赋值运算符 (=) 而引起的错误。因为 if a = b 这样写是无效的
if a = b {
//错误, 因为 a = b 并不会返回一个值
}
*/

数学运算符

var x1 = 1 + 2var x2 = 10.0 / 2.5//两个字符串通过+号组成一个新的字符串let dog: Character = "��"let cow: Character = "��"let dogCow = dog + cow

//不同于C和Objective-C,默认情况下Swift的算术运算符不允许值溢出。
//你可以通过Swift的溢出运算符来选择值的溢出情况(例如 a & + b)

①取余, 余数运算符//余数运算符(a % b)a是b的几倍并且返回被留下的值(叫作余数)var x3 = 9 % 4②浮点数取余var x4 = 8 % 2.5③增量与减量运算符var x5 = 0let y1 = ++x5let y2 = x5++  // 与c、oc一样④复合赋值操作符var x6 = 1x6 += 2     //等价于 x6 = x6 + 2⑤一元减运算符let three = 3let minusThree = -three        // -3let plusThree = -minusThree    // 3⑥一元加运算符, 一元加运算符返回的值, 不做任何的变动let minusSix = -6let alsoMinusSix = +minusSix  // -6

比较运算符
和c、oc一致:==、!= 、>、<、>=、<=
三目运算符
其形式为 question? answer1: answer2
三元条件运算符是下面的代码的简化:

if question {answer1} else {answer2}

比如:

let contentHeight = 40let hasHeader = truelet rowHeight = contentHeight + (hasHeader ? 50 : 20)println(rowHeight)       // 结果为90

范围运算符
①封闭范围运算符, (a…b)定义了一个范围从a到b,并且包含a和b的值,即[a,b]

for index in 1...5 {    println("\(index) times 5 is \(index * 5)")}

②半封闭区域运算符(包头不包尾), (a..b)定义了范围从a到b,包含a的值,但是不包含b的值,即[a,b)

let names = ["Anna", "Alex", "Brian", "Jack"]let count = names.countfor i in 0..count {    println("Person \(i) is called \(names[i])")}

逻辑运算符
①逻辑非运算符 !

let entry = falseif !entry {    println("ok")}

②逻辑与运算符 &&

let enteredDoorCode = truelet passedRetinaScan = falseif enteredDoorCode && passedRetinaScan {    println("Welcome!")}else {    println("access denied")}

③逻辑或运算符 ||

let hasDoorKey = falselet password = trueif hasDoorKey || password {    println("Welcome!")}else {    println("access denied")}

④复合逻辑表达式

if enteredDoorCode && passedRetinaScan || hasDoorKey || password {    println("Welcome!")}else {    println("access denied")}
0 0
原创粉丝点击