您的位置:时时app平台注册网站 > 编程知识 > 快看Sample代码,速学Swift语言(3)-运算符时时

快看Sample代码,速学Swift语言(3)-运算符时时

2019-11-03 12:50

逻辑运算符

let allowedEntry = false
if !allowedEntry {
    print("ACCESS DENIED")
}
// Prints "ACCESS DENIED"

 

let enteredDoorCode = true
let passedRetinaScan = false
if enteredDoorCode && passedRetinaScan {
    print("Welcome!")
} else {
    print("ACCESS DENIED")
}
// Prints "ACCESS DENIED"

 

let hasDoorKey = false
let knowsOverridePassword = true
if hasDoorKey || knowsOverridePassword {
    print("Welcome!")
} else {
    print("ACCESS DENIED")
}
// Prints "Welcome!"

 

if enteredDoorCode && passedRetinaScan || hasDoorKey || knowsOverridePassword {
    print("Welcome!")
} else {
    print("ACCESS DENIED")
}
// Prints "Welcome!"

依旧使用括号使之尤其有益阅读

if (enteredDoorCode && passedRetinaScan) || hasDoorKey || knowsOverridePassword {
    print("Welcome!")
} else {
    print("ACCESS DENIED")
}
// Prints "Welcome!"

 

操作符是用以检查实验、修改或然组合值的特殊符号或短语。举个例子,加法操作符 ( ) 将三个数字加到一齐 (如 let i = 1 2)。更目眩神摇的例证包括逻辑与操作符 && (如 if enteredDoorCode && passedRetinaScan) 和自增操作符 i,正是把 i 的值加1的神速方式。

数学生运动算符

1   2       // equals 3
5 - 3       // equals 2
2 * 3       // equals 6
10.0 / 2.5  // equals 4.0

 这个都以和任何语言未有怎么分裂,循例列出参照他事他说加以考查下

对此字符,也得以行使 符号进行延续新的字符串

"hello, "   "world"  // equals "hello, world"

 

一元操作符中的-、 运算,和算术里面包车型客车负负得正,正负得负的意思相通了。

let three = 3
let minusThree = -three       // minusThree equals -3
let plusThree = -minusThree   // plusThree equals 3, or "minus minus three"

 

let minusSix = -6
let alsoMinusSix =  minusSix  // alsoMinusSix equals -6

 

结合运算符提供 = 、-=的运算符操作

var a = 1
a  = 2
// a is now equal to 3

 

比较之下运算符和此外语言大概

  • 等于 (a == b)

  • 不等于 (a != b)

  • 大于 (a > b)

  • 小于 (a < b)

  • 超过等于 (a >= b)

  • 低于等于 (a <= b)

别的值得注意的是,Swift提供了比较引用的五个操作符号,=== 和 !==,用来检查两个引用是否完全相等;或者不相等的。而==只是用来对比两个对象的值是否一致。

1 == 1   // true because 1 is equal to 1
2 != 1   // true because 2 is not equal to 1
2 > 1    // true because 2 is greater than 1
1 < 2    // true because 1 is less than 2
1 >= 1   // true because 1 is greater than or equal to 1
2 <= 1   // false because 2 is not less than or equal to 1

 比较运算符也平日用来If条件语句里面

let name = "world"
if name == "world" {
    print("hello, world")
} else {
    print("I'm sorry (name), but I don't recognize you")
}
// Prints "hello, world", because name is indeed equal to "world".

 

不像C,斯维夫特 可以对浮点数进行取余操作 (%) 。 斯维夫特 还提供八个范围操作符 (a..<b 和 a…b) ,那在C里是不曾的,用来表示二个限量的值。

 

斯威夫特 接济大好些个行业内部的C 操作符並且校勘了几项功用以清除相近的编码错误。赋值操作符 (=) 不重临值,是为着防卫想用等于操作符(==)时非常的大心用成了赋值操作符。算数运算符 ( , -, *, /, % 等等) 检验并严令禁绝值溢出,防止运算时搜查缉获的结果超越或低于类型允许的范围。

赋值运算符

let b = 10
var a = 5
a = b
// a is now equal to 10

 赋值语句,处理和其余语言一样。

 

let (x, y) = (1, 2)
// x is equal to 1, and y is equal to 2

 这种代码是相同ECMAScript 6的脚本写法,通过把右边元祖对象解构赋值给侧边对应的参数。

 

术语

操作符分一元、二元和安慕希:

一元操作符操作于一个十足目的(如 -a卡塔尔国。一元前缀操作符在它们的对象此前紧跟出现(如 !b卡塔尔国,一元后缀操作符在它们的指标之后紧跟现身(如 i 卡塔尔国。 
二元操作符操作于三个指标(如 2 3卡塔尔国,是中缀操作符,因为它出今后多少个目的的中档。 
伊利操作符操作于几个指标。像 C 相通,Swift 唯有三个安慕希操作符,便是元日条件操作符 (a ? b : c)。 
操作符影响的值称为操作数。在表达式 1 第22中学,符号 是一个二元操作符,它的操作数是值 1 和 2。

 

风流洒脱、一元运算符

  (后生可畏卡塔尔国、负号运算符

时时app平台注册网站 1

 

 

  (二卡塔 尔(阿拉伯语:قطر‎、正号运算符

时时app平台注册网站 2

注 : 乘 (*)、 除 (/)与OC用法相像

  (三卡塔尔、自增、自减运算符

 

时时app平台注册网站 3

自减同上,本质上 跟OC没怎么差异

 

二、二元运算符

 (大器晚成卡塔尔、赋值运算符

        1、赋值操作符 (a = b) 用 b 的值初阶化或更新 a 的值:

时时app平台注册网站 4

 

       2、假使赋值操作符的右侧是一个有八个值的元组,它的成分得以立时被拆散为多个常量或变量:

时时app平台注册网站 5 

 

    3、不像 C 和 Objective-C 里的赋值操作符,斯维夫Terry的赋值操作符自己并不再次来到值。上面包车型地铁口舌是非常的:

 时时app平台注册网站 6

 那么些性子制止了赋值操作符 (=) 被误用作等于操作符 (==) 。斯威夫特 帮您防止 if x = y 那些错误在代码里现身。

 

  (二卡塔 尔(英语:State of Qatar)、取余运算符

时时app平台注册网站 7

 

 

  (三卡塔 尔(阿拉伯语:قطر‎、组合赋值运算符

 时时app平台注册网站 8

 

 (四卡塔 尔(阿拉伯语:قطر‎、相比较运算符

斯维夫特 支持具有正规的 C 比较操作符,具体功效和行使方式与C语言近似,在这里不再赘述 

等于 (a == b)

不等于 (a != b)

大于 (a > b)

小于 (a < b)

超越或等于 (a >= b)

小于或等于 (a <= b)

 

 (五卡塔 尔(阿拉伯语:قطر‎、逻辑运算符

斯维夫特别支部持基于C语言的二种标准的逻辑操作符:

逻辑否 (!a)

逻辑与 (a && b)

逻辑或 (a || b)

 时时app平台注册网站 9

 

上边七个是swift新添的七个运算符:

 (六卡塔尔、区间运算符

   1、全闭区间

时时app平台注册网站 10

关闭范围操作符 (a…b) 定义了八个从 a 到 b 的限量,同期包含a 和 b 的值。a 的值必需不能够压倒 b 。

 

   2、半开半闭区间

时时app平台注册网站 11

半开范围极其适用于从0起初的列表,如数组,一向数到(但不富含卡塔 尔(英语:State of Qatar)列表的长度

 

 (七卡塔 尔(英语:State of Qatar)、空合运算符

  空合运算符(a ?? b)将对可选类型a扩充空剖断,假设a包蕴贰个值就展开解封,不然就回去三个暗中认可值b.这几个运算符有三个规格:

  表达式a必须是Optional类型

  默认值b的花色一定要和a存款和储蓄值的种类保持生龙活虎致

时时app平台注册网站 12

 时时app平台注册网站 13

 

三、长富运算符 

长富条件操作符分八个部分,情势是那样的 question ? answer1 : answer2。

例如:a > b ? a : b

接受效果与利益同C语言的三木运算符,在那不再赘述 

 

 

是因为苹果公司发表Swift才刚满一年有着的职能都在再三地换代康健, 所以以上的内容之作参照他事他说加以调查之用,具体请关怀斯威夫特的风尚消息,大概参照他事他说加以考察斯维夫特 API 文档,感激。

 

 

运算符是用来检查,校订或组合值的特殊符号或短语。斯威夫特提供的广大好端端的运算符,如 、-、*、/、%、=、==等,以致逻辑运算的&&、||等等,基本上没有必要再行介绍,大家在那间只须要明白部分不超帅似的运算符就足以了。如斯威夫特引进的国民党的新生活运动算符,范围操作符号,包涵..<和...三个,该小说介绍斯威夫特常规的演算符中,以至和此外语言有所出入的部分。

当今大家来大约介绍下 Swift里的常用操作符。

界定操作符

关掉范围运算符 ... 和半闭合范围运算符 ..< 八个

for index in 1...5 {
    print("(index) times 5 is (index * 5)")
}
// 1 times 5 is 5
// 2 times 5 is 10
// 3 times 5 is 15
// 4 times 5 is 20
// 5 times 5 is 25

 半关闭的界定运算符

let names = ["Anna", "Alex", "Brian", "Jack"]
let count = names.count
for i in 0..<count {
    print("Person (i   1) is called (names[i])")
}
// Person 1 is called Anna
// Person 2 is called Alex
// Person 3 is called Brian
// Person 4 is called Jack

 只怕正如使用

for name in names[..<2] {
    print(name)
}
// Anna
// Alex

 

以至旁边范围的运算符,包罗侧面和左侧多少个部分

for name in names[2...] {
    print(name)
}
// Brian
// Jack

for name in names[...2] {
    print(name)
}
// Anna
// Alex
// Brian

 

let range = ...5
range.contains(7)   // false
range.contains(4)   // true
range.contains(-1)  // true

 

应接参预iOS技巧交换群 461069757 

 

 

元春运算符

新年底中一年级运算符 ? :和C#个中表现是同等的

question ? answer1 : answer2

 

let contentHeight = 40
let hasHeader = true
let rowHeight = contentHeight   (hasHeader ? 50 : 20)

 

空值转变操作符

空值转变符是对可空类型(可选类型卡塔 尔(阿拉伯语:قطر‎的四个值得调换出来(a ?? b)。

let defaultColorName = "red"
var userDefinedColorName: String?   // defaults to nil

var colorNameToUse = userDefinedColorName ?? defaultColorName
// userDefinedColorName is nil, so colorNameToUse is set to the default of "red"

 

userDefinedColorName = "green"
colorNameToUse = userDefinedColorName ?? defaultColorName
// userDefinedColorName is not nil, so colorNameToUse is set to "green"

 

本文由时时app平台注册网站发布于编程知识,转载请注明出处:快看Sample代码,速学Swift语言(3)-运算符时时

关键词: