Swift语法基础:11 - Swift的运算术语, 赋值运算, 数值运算, 复合赋值
来源:互联网 发布:网络语ht是什么意思 编辑:程序博客网 时间:2024/05/21 13:22
在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
这个就是赋值运算啦.
如果在元组上赋值, 那么情况就会不一样, 比如:
let(x,y)=(1,2)println("\(x), \(y)")// 打印出来的结果: 1, 2
PS: 如果是在元组上赋值, 那么会产生多个变量或者常量, 而这个值和变量都是相互对应的.
注意一下, 如果在 if 语法中使用赋值运算是会错误的, 比如:
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那样定义一大串东西, 而是直接就可以加上去, 比如:
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中差别不大:
当 ++ 前置的时候, 先自増再返回.
当 ++ 后置的时候, 先返回再自增.
var a = 0let b = ++a// 这个是先加了再返回, 所以a和b都是1let c = a++// 这个是先返回后再加, 所以a是2, c是1
补充一点:
在Swift中也可以拿 ‘-’ 或者 ‘+’ 作为数字的前缀, 从而判断是正数还是负数:
let three = 3let minusThree = -three// 这里的minusThree就是-3,let plusThree = -minusThree// 这里的plusThree是3, 运算结果和我们以前学的数学没区别, 负负得正, -(-minusThree)
单目正号 ‘+’ 就和我们之前所认识的差不多:
let miunsSix = -6let 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笔记-赋值运算符
- Swift的算术运算符和赋值运算符
- 复合赋值运算符
- Java复合赋值运算
- 复合赋值运算总结
- Swift数值运算
- Swift 数值运算符
- Swift语法基础:12 - Swift的比较运算, 三目条件运算, 区间运算, 逻辑运算
- 复合赋值运算符的应用
- 复合赋值运算符的使用
- swift-基本操作02-自增和复合赋值运算符
- 关于基本类型的简单赋值和复合赋值运算
- JavaScript赋值运算与数值运算
- 2.5 Swift赋值运算符,溢出运算符, 空合并运算符 ??
- 赋值运算
- 赋值运算
- 赋值运算
- 每天进步一点点-<Notification>
- 在 Visual Studio 中使用 mdk 编译 ARM 程序
- (同余定理)厦门大学线下编程比赛第一题:求和
- Hadoop环境搭建
- Java构造和解析Json数据的两种方法详解二
- Swift语法基础:11 - Swift的运算术语, 赋值运算, 数值运算, 复合赋值
- UltimateRecyclerView发布,Android下新Listview的大杀器
- 错误日志——Sql附加数据库无法打开物理文件“xxx.mdf"。操作系统错误 5:"5(拒绝访问。)"。 (Microsoft SQL Server,错误: 5120)”
- Makefile选项CFLAGS,LDFLAGS,LIBS
- Study flex《Flex嵌入字体错误》
- 如何判断js中的数据类型
- ARC下dealloc过程及.cxx_destruct的探究
- SpringMVC @RequestMapping 2
- 仿qq界面的实现