Swift解读专题三——基础运算符

Swift解读专题三——基础运算符,第1张

概述Swift解读专题三——基础运算符 一、引言          运算符是编程语言不可缺少的一个部分,Swift中除了支持C中的运算符外,还提供了一些更加强大的运算符功能,例如取余符%可以用来计算浮点数,另外新增了两种范围运算符。Swift中有3类运算符: 1.一元运算符 运算符作用于一个 *** 作数,可以出现在 *** 作数前或者 *** 作数后。 2.二元运算符 运算符作用于两个 *** 作数,出现在两个 *** 作数中间。 3.三 Swift解读专题三——基础运算符 一、引言

运算符是编程语言不可缺少的一个部分,Swift中除了支持C中的运算符外,还提供了一些更加强大的运算符功能,例如取余符%可以用来计算浮点数,另外新增了两种范围运算符。Swift中有3类运算符:

1.一元运算符

运算符作用于一个 *** 作数,可以出现在 *** 作数前或者 *** 作数后。

2.二元运算符

运算符作用于两个 *** 作数,出现在两个 *** 作数中间。

3.三元运算符

运算符作用于三个 *** 作数间。

二、赋值运算符

赋值运算符用=符号表示,用于初始化或者更新一个量值,示例如下:

//将字符串“helloworld”赋值给变量strvarstr="Hello,world"//更新变量str的值str="newvalue"

如果赋值运算符的右边是一个元组,其也可以将元组进行分解赋值,示例如下:

//对元组进行分解赋值var(x,y)=(1,2)

与C与Objective-C不同,Swift的中赋值运算符并不会返回一个值,很多初学者在进行if语句的使用时,经常会犯的一个错误就是将赋值运算符当做等于运算符来使用,这些错误在Swift语言中都将被避免,因为如果在if语句的判断条件中使用的是赋值运算符,编译器将会直接抛出错误。

三、算术运算符

Swift中支持的基础的算数运算符有7种,加(+)、减(-)、乘(*)、除(/)、取余(%)、正号(+)、负号(-)。Sring类型的数据是支持通过+运算符来进行拼接的,示例如下:

varnewStr="hello"+"world"

Swift中的%运算符比Objective-C更加强大,其除了支持整数的取余 *** 作外,还可以支持浮点数的取余 *** 作,示例如下:

varvalue1=10%3//余数1varvalue2=-10%3//余数-1varvalue3=10%4.5//余数1varvalue4=-10%4.5//余数-1

对于正号和负号 *** 作符也被称为一元加 *** 作符与一元减 *** 作符,一元减 *** 作符会改变数据的正负性,一元加 *** 作符只会返回数值本身,并没有做任何 *** 作,示例如下:

vartmp=-3;+tmp//-3-tmp//3
四、复合赋值运算符

Swift中提供了将一个算术运算符与赋值运算符结合使用的复合赋值功能,示例如下:

tmp+=3//tmp=tmp+3tmp-=3//tmp=tmp-3tmP*=3//tmp=tmP*3tmp/=3//tmp=tmp/3tmp%=3//tmp=tmp%3
五、比较运算符

Swift支持Objective-C中所有的比较运算符,比较运算符将会返回一个Bool类型的值:

1==2//等于比较1<2//小于比较1>2//大于比较1!=2//不等于比较1<=2//小于等于比较1>=2//大于等于比较

除了上面列举出的6种比较运算符外,Swift中还提供了两个特殊的比较运算符===和!==,这两个比较运算符用于比较引用是否相同。

Swift中的元组也可以进行比较,但是其有两个前提需要注意:

1.元组中元素的个数相同且对应位置的元素类型相同。

2.元组中的元素可以进行比较 *** 作。

当元组进行比较时,按元素顺序进行逐个比较,直道某个元素比较出结果后作为元组的比较结果。

(1,"123")>(0,"234")//true(1,"123")>(1,"456")//false

三元运算符可以理解为一个简写的if else 语句,示例如下:

vara=1>2?1:2//如果1>2成立a=1a=2
六、空聚合运算符

空聚合运算符也是Swift语言中独有的一个运算符,其设计的思路是基于更加方便的使用Optional值的目的。对于Optional类型的值,开发者一般会需要使用?进行可选拆包或者!进行强制拆包来获取其原始值,空聚合运算符??提供了更加使用的方式,示例如下:

varOp1:String?varOp2:String?="123"//这个表达式将返回Op2其意义是如果Op1不为nil,则对其进行强制拆包将值返回,如果为nil,则返回Op2varrealStr=Op1??Op2//上面的表达式和下面这个表达式意义相同Op1!=nil?Op1!:Op2
七、区间运算符

Swift中还提供了区间运算符,在for-in循环中,区间运算符会被经常使用到,示例如下:

//a...b为闭区间写法forindexin0...3{print(index)}//a..<b为左闭右开区间forindexin0..<3{print(index)}
八、逻辑运算符

Swift中支持与&&、或||、非!三种逻辑运算符,逻辑运算符只能 *** 作Bool值,示例如下:

varone=truevartwo=falseone&&two//falseone||two//true!one//false

逻辑运算符在复合使用时,最好使用小括号进行模块分隔,增强可读性。

专注技术,热爱生活,交流技术,也做朋友。

——珲少 QQ群:203317592

总结

以上是内存溢出为你收集整理的Swift解读专题三——基础运算符全部内容,希望文章能够帮你解决Swift解读专题三——基础运算符所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1076516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存