Swift5-外行零基础入门_5-运算符
2020-12-19 本文已影响0人
DavidShawn
运算符
什么是运算符?
所谓运算符,其实可以简单理解为小学数学中的加减乘除。
我们可以对常量和变量进行运算。
// 比如,我们定义一个长方形的长为a,宽为b
let a = 3
let b = 6
// 那么,长方形的面积就是
var area = a * b // 18
但是,事情没有那么简单。还有很多地方使用和利用了这样的一些符号:+ - * / % = > < !
。于是,很多语言,包括Swift,就把用到这些符号的地方,都叫做运算符。
其实,就是符号,很多跟运算已经没啥关系了。
被称为运算符的都有哪些?
-
算术运算符
这个最好理解,也是我们理解运算符的起点。
算术运算符分为加,减,乘,除,求余。加 减 乘 除
很好理解,他们对应的键盘符号是+ - * /
。
求余
的符号是%,它的意思不是百分比,而是求余数,比如,10除以3,结果是3,余1,用代码表达就是:let x = 10 let y = 3 var remainder = 10 % 3 // 1
-
赋值运算符
把某个值,赋给某个常量或变量,因为借用了=
这个运算符,称之为赋值运算符。
之前我们已经用过很多了,比如let a = 10
,就是把10赋值给常量a。
还有高级一些的用法,比如let (x,y) = (1,2)
,那么x的值就是1,y的值就是2。
再比如已经定义了let a = 10; var b = 20
,可以接着定义b = a
,这时b的值就是10。关于这个问题,很多大神喜欢讲内存、指针等原理,对于我这样的新手来时,亲手打印结果试一试最安心。
赋值运算符另一种高级的形式是,+= -=
,举个例子:
因此,我们可以看出,var a = 10 a += 1 print(a) // 11
a += 1
,就是a = a + 1
。 -
比较运算符
就是比较两个数据,等于==
,不等于!=
,大于>
,大于等于>=
,小于<
,小于等于<=
。它们返回的值就是布尔值,也就是true 或 false
,比如1 == 1
,返回的就是true
。你现在就可以在Playground中试一下其他几种比较运算符。
因为它们返回的是一个布尔值,因此,常常用在if语句中,作为判断的条件。比如,如果判断你的分数大于90分,就给出优秀的评语。
关于if语句的具体用法,我们后面还会介绍,这里,你只需要理解意思即可。var score = 95 if score >= 90 { print("优秀!") }
-
逻辑运算符
简单来说,就是非 与 或
,使用的符号是! && ||
。
先举个例子,- 如果开车超速并且被拍到,就会被扣分;// 与
- 如果开车超速或者疲劳驾驶,都很危险;// 或
- 如果开车不超速,就是良好市民。// 非
用代码表示的话,就是这样:
上面这段代码只是展示逻辑关系,其实并不能被swift直接运行,逻辑运算符结合的都是布尔值,我们改造一下:let a = 超速 let b = 被拍 let c = 疲劳驾驶 if a && b { print("扣分!") } if a || c { print("太危险了!") } if !a { print("良好市民!") }
请在Playground中自由练习下吧,设置一些好玩的情形,尝试各种可能。这样做很重要,亲手敲出的代码才能帮助你加深理解。// swift支持中文,我们直接使用中文表达,实际开发中不建议 let 超速了 = false let 被拍 = false let 疲劳驾驶 = true // 我们将是否超速,是否被拍等定义为布尔值。可以改变这些布尔值,从而得到下面不同的结果。 if 超速了 && 被拍 { print("扣分") } if 超速了 || 疲劳驾驶 { print("太危险了!") } if !超速了 { print("良好市民!") }
-
三元运算符
什么是三元?有没有一元?二元?有的,
一元,就是-a
,+a
,!a
;
二元,就是a+b
。
也就是说,一元中,只有一个对象a
,二元中,有两个对象a b
,同理,三元中,就有三个对象,格式是这样的:
c ? a : b
,意思是,c
成立吗?成立的话,结果是a
,不成立的话,结果是b
。let c = true let a = 1 let b = 2 c ? a : b // 1
-
区间运算符
意思是某个区间范围的值,有两种形式,a...b
,a..<b
,两种形式。举例说明:
let range1 = 1...5
for i in range1 {
print(i)
}
// 打印1,2,3,4,5五个数字
let range2 = 1..<5
for i in range2 {
print(i)
}
// 打印1,2,3,4四个数字
小结与预告
所谓运算符,除了算术运算符中是我们通常说的数学运算类似,其他跟数学运算都没什么关系。
因为所有的数据类型其实都要靠运算符操作,因此,掌握他们就很重要。当然,后续会不断的用到并加强的。
对于文字型或者说字符型的处理,还有一套方法,我们下节见。