Swift语法基础:11 - Swift的运算术语, 赋值运算, 数值运算, 复合赋值

Swift语法基础:11 - Swift的运算术语, 赋值运算, 数值运算, 复合赋值,第1张

概述在Swift当中当然是有与或非这三个逻辑运算符, 并且兼容大部分C类运算符, 比如 “<”, “>”, “=”, “==”, “<=”, “>=”, “+”, “-“, “*”, “/”, 这些等等都支持, 但这里有一点要注意一下, 赋值符号 “=” 不返回值, 以防止把 “==” 写成 “=” 导致程序出错. 区别于C, Swfit还提供对浮点数类型进行取余预算 “%”, 还提供了C没有提供的区

在Swift当中当然是有与或非这三个逻辑运算符,并且兼容大部分C类运算符,比如 “<”,“>”,“=”,“==”,“<=”,“>=”,“+”,“-“,“*”,“/”,这些等等都支持,但这里有一点要注意一下,赋值符号 “=” 不返回值,以防止把 “==” 写成 “=” 导致程序出错.

区别于C,Swfit还提供对浮点数类型进行取余预算 “%”,还提供了C没有提供的区间,“0..<20” 或者 “0…20”.

1.术语

运算符分为三种,一目,二目,三目这三种运算符,例子:

一目运算符只对单个对象进行 *** 作,比如: -a

二目运算符对两个对象进行 *** 作,比如: a + b

三目运算符 *** 作三个对象,和C一样,Swift也是只有一个三目运算符,比如 a? b :c.

2.赋值运算符

所谓的赋值运算符,就是把一个值赋给另一个值,比如:

let b = 10var a = 5a = bprintln(a) // 打印出来的结果: 10

这个就是赋值运算啦.

如果在元组上赋值,那么情况就会不一样,比如:

@H_403_38@let(x,y)=(1,2)println("\(x),\(y)")// 打印出来的结果: 1,2

PS: 如果是在元组上赋值,那么会产生多个变量或者常量,而这个值和变量都是相互对应的.

注意一下,如果在 if 语法中使用赋值运算是会错误的,比如:

@H_403_38@if x = y {}// 报错: Connot assign to 'let' value 'x'

在Swift中它可以从底层里规避一些赋值运算的错误.

3.数值运算

在Swift中同样是有 “+”,比如:

1 + 2// 等于35 - 3// 等于22 * 3// 等于610.0 / 2.5// 等于4.0

在Swift中有一个很有趣的东西,在我们拼接字符串的时候,我们不需要再像OC那样定义一大串东西,而是直接就可以加上去,比如:

@H_403_38@let helloWorld = "hello" + " world"// 打印出来的结果: hello world
4.求余运算

所谓的求余运算就是两个数相除,如果除不尽,那么就取该余数,比如:

let a = 9 % 4println(a) // 打印出来的结果: 1

例子里面的 9 除以 4 等于 2,但是除不完,余 1,这个就是我们所得到的结果,就是 1.

如果是负数求余,同样也是如此,不过结果是为负数,比如:

let a = -9 % 4println(a) // 打印出来的结果: -1

还有一个浮点数求余:

let a = 8 % 2.5println(a) // 打印出来的结果是: 0.5

PS: 浮点数求余运算比较特殊一点,他会精确到小数点后面的数,与整数求余不一样.

5.自增和自增运算

在Swift中也有自增和自增运算,原理和OC中差别不大:

当 ++ 前置的时候,先自増再返回.
当 ++ 后置的时候,先返回再自增.

@H_403_38@var a = 0@H_403_38@let b = ++a// 这个是先加了再返回,所以a和b都是1@H_403_38@let c = a++// 这个是先返回后再加,所以a是2,c是1

补充一点:
在Swift中也可以拿 ‘-’ 或者 ‘+’ 作为数字的前缀,从而判断是正数还是负数:

@H_403_38@let three = 3@H_403_38@let minusThree = -three// 这里的minusThree就是-3,@H_403_38@let plusThree = -minusThree// 这里的plusThree是3,运算结果和我们以前学的数学没区别,负负得正,-(-minusThree)

单目正号 ‘+’ 就和我们之前所认识的差不多:

@H_403_38@let miunsSix = -6@H_403_38@let aolsMiunsSix = +miunsSix// 这么做是改变不了miunsSix的正负的,和我们之前所学的数学没啥区别 +(-miunsSix)
6.复合赋值

在Swfit中也存在复合赋值:

var a = 1a += 2// a等于3,其运算过程就是 a = a + 2

PS: 在Swift中的复合赋值是不存在返回值的,所以let a = b += 2这种写法是不对的.

好了,这次我们就讲到这里,下次我们继续

总结

以上是内存溢出为你收集整理的Swift语法基础:11 - Swift的运算术语, 赋值运算, 数值运算, 复合赋值全部内容,希望文章能够帮你解决Swift语法基础:11 - Swift的运算术语, 赋值运算, 数值运算, 复合赋值所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/web/1088747.html

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

发表评论

登录后才能评论

评论列表(0条)

保存