Swift(四、基本运算符及高级操作符)
2015-10-31 15:07
232 查看
1、Swift入门学习笔记(第一版),对Swift的基础知识点进行梳理总结。知识点一直在变,只是作为参考,以苹果官方文档为准~
2、在学习完基本的知识点以后会结合官方文档及相关资料,在此版本的基础上进行添加更改。
Output:
Output:
此时,可以选择溢出运算符让系统在数值溢出时草去截断操作
溢出加法 &+
溢出减法 &-
溢出乘法 &*
UInt8的范围是0-255,对255进行+1操作,超出UInt8能容纳位数导致数值溢出,留在UInt8边界内的即为计算结果
注:有符号数值溢出计算要考虑符号位
2、在学习完基本的知识点以后会结合官方文档及相关资料,在此版本的基础上进行添加更改。
四、基本运算符及高级操作符
注:Swift中与C和OC相同的部分本文不作累述基本运算符
Swift 支持大部分标准 C 语言的运算符,且改进许多特性来减少常规编码错误1、赋值运算符
赋值符(=)不返回值,以防止把想要判断相等运算符(==)出错(=)符导致的错误let a = 1 var b = 2 //if b = a { // 编译不通过,其他语言可以通过,b=a不返回值,避免犯错 //}
2、算数运算符
算术运算符(+,-,*,/,%等)会检测并不允许值溢出,以此来避免超出范围的范围时导致的异常结果2.1、浮点数取余操作
var x = 7%2.5 print(x) // 2.0
3、范围运算符
3.1、闭区间运算符
(a…b) 三个点定义a到b的范围,包含a,bfor index in 1...5 { print(index) }
Output:
1 2 3 4 5
3.2、半开区间运算符
a..for index1 in 1..<5 { print(index1) }
Output:
1 2 3 4
高级操作符
1、位运算符
按位反,位与,位或,位异或此处不讲解,对左移右移带过x>>a: x右移a位,无符号整数高位0补位,有符号高位符号位补位
x<<a:x左移a位,低位补0
2、溢出运算符
当向一个整数赋超过它容量的值是,Swift会报错而不是生成一个无效的数,更加安全var potentialOverFlow = Int8.max //potentialOverFlow += 1 //报错
此时,可以选择溢出运算符让系统在数值溢出时草去截断操作
溢出加法 &+
溢出减法 &-
溢出乘法 &*
//以溢出加法为例说明 var testOverFlow = UInt8.max testOverFlow = testOverFlow &+ 1 print(testOverFlow) //值为0
UInt8的范围是0-255,对255进行+1操作,超出UInt8能容纳位数导致数值溢出,留在UInt8边界内的即为计算结果
注:有符号数值溢出计算要考虑符号位
3、运算符函数
这部分在学完函数部分再补充相关文章推荐
- Apple Swift学习教程
- Lua中关系运算符的使用教程
- Lua学习笔记之运算符和表达式
- C#运算符重载用法实例分析
- sql server 2008中的apply运算符使用方法
- C#中38个常用运算符的优先级的划分和理解
- C#基础语法:as 运算符使用实例
- 与MSSQL对比学习MYSQL的心得(五)--运算符
- MySQL中的运算符使用实例展示
- Ruby的运算符和语句优先级介绍
- C#编程自学之运算符和表达式
- Lua中的运算符简明总结
- javascript 全等号运算符使用说明
- JS按位非(~)运算符与~~运算符的理解分析
- javascript &&和||运算法的另类使用技巧
- C#重载运算符详解
- JavaScript运算符小结
- C++程序的执行顺序结构以及关系和逻辑运算符讲解
- JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)