Swift 运算符
2015-10-02 21:58
239 查看
运算符 这里介绍Swift中一些运算符 和OC 里面相同的这里就不再介绍了 新增加的的有 范围运算符 ..< 、... 溢出运算符&+ &- &* &% &/ 虽然基本的运算符大致相同 但是有些细节还是需要注意的 赋值运算符 1对1 赋值运算符 var a = 5 let b = 20 N对N 赋值 let(x,y) = (1,2) // 这里是元组 后面会讲到 跟C/OC 不一样的地方是Swift 的赋值运算符没有返回值 if(x=y){} //上面的代码是错误的 因为x=y 没有返回具体的值 这样的好处是防止= 和 == 误用 求余运算符 %在Swift 中叫做“求余运算符” 9 % 4 //1 -9 % 4 //-1 9 % -4 //1 -9 % -4 //-1 求余结果的正负性跟%左边数值的正负一样 跟C 语言不一样的是 Swift 的%支持浮点数的计算 8 % 2.5 //0.5 Bool类型(逻辑类型) Bool 类型 true 真 false 假 在C 语言中0 是假 非0 就是真 而在Swift中没有这种状态 if 语句的条件必须是Bool 类型的 错误的写法 if(10){ println("条件成立") } 正确写法 if(true) { printf("条件成立") } 比较运算符、逻辑运算符、三目运算符 比较运算符、逻辑运算符会返回Bool类型的值 取值有两种可能 true 真 6 > 5 (7 > 6)&&(9!=7) false 假 6 < 5(7 >= 6)&&(9==7) 三目运算符的条件必须是Bool类型的值 错误写法 let a = 10 let c = a ? 100:200 正确写法 let c = a!=0?100:200 let c = false ? 100:200 范围运算符 范围运算符用来表示一个范围 有两种表示形式 闭合范围 a...b [a,b] 半闭合范围 a..<[a,b) 例子 for i in 1..< 5 { println(i) } for i in 1...5{ println(i) } 溢出运算符 (新知识) 每种数据类型都有自己的取值范围默认情况下一旦赋了一个超出取值范围的数值 就会产生编译或者运行时的错误 下面的写法是错误的 let x = UInt8.max let y = x + 1 第二行代码会报错 Swift 为整型的计算提供了5个&开头的运算符 能对超出取值范围的数值 灵活处理 &+ &- &* &/ &% 上溢出 let x = UInt8.max let y = x &+ 1 第一行过后 x的值为255最大值 第二行代码过后y 的值是0(最小值) 下溢出 let x = UInt8.min let y = x & - 1 第一行过后 x的值为0最小值 第二行代码过后y 的值是255(最大值) 有符号也有类似的溢出现象 let x = Int8.min let y = x& - 1 第一行 x = -128 第二行 y = 127 默认情况下 一个数除以0 或者对0取余数 编译器都会报错 let x = 10 let y = x / 0 let z = x % 0 上面报错 如果是下面的情况 let x = 10 let y = x &/ 0 let z = z &% 0 y 和 z 的值都为 0
相关文章推荐
- Swift学习(二)
- Swift学习(一)
- Swift中的数据类型
- 7.Swift翻译教程系列——控制循环的流程
- swift基础学习篇发布时间调整
- swift 中switch 的新用法
- swift实现ios类似微信输入框跟随键盘弹出的效果
- swift的类和对象
- swift的类与对象讲解
- swift的函数与闭包
- swift语法讲解及简单入门教程
- swift闭包
- swift函数
- Swift学习笔记7——闭包(Closures)
- swift元组
- Swift学习笔记6——函数(Function)
- Swift 语言的相关数据
- Swift语法特点
- swift学习
- swift详解之二十九------谈谈debug的一些高级用法lldb