专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Swift

Swift自学札记——Lesson03:语法基础之运算符

发布时间:2011-06-30 07:20:16 文章来源:www.iduyao.cn 采编人员:星星草
Swift自学笔记——Lesson03:语法基础之运算符

       学过C语言的小猿们都知道,C语言中有很多的运算符:赋值运算符、算术运算符、逻辑运算符、关系运算符、条件运算符、逗号运算符、位运算符……

       运算符在代码中发挥着极其重要的作用,Swift中也有很多的运算符,大部分与C中的运算符相似甚至相同,但也有一些改动和补充,接下来就简单介绍一下这些与 'C' 不同的运算符。

一、赋值运算符

与 'C' 不同:Swift中的赋值表达式没有返回值。

1 var num1 = 3
2 var num2 = 4
3 print(num1 += 3)   // 输出结果为 "()",赋值表达式没有返回值

因此,赋值表达式不能作为  判断条件  和  循环条件,否则系统会报错,这也就避免了我们进行相等判断时将  '=='  漏写为  '='。

 

二、取余运算符

与 'C' 不同:Swift中的运算符可以对浮点数取余。

1 var 余数 = 8 % 2.5
2 print(余数)   // 输出结果为 "0.5"

我们可以直接将  2.5  看做整数来进行取余运算,如下图:

 

三、溢出运算符

认识一下:&+, &-, &*, ...

与 'C' 不同:C语言中好像没有这玩意儿,Swift中没有使用溢出运算符的  运算溢出  会导致程序崩溃。

 1 var minValue = UInt8.min   // UInt8 类型的最大值
 2 var maxValue = UInt8.max   // UInt8 类型的最小值
 3 
 4 print(minValue)   // 输出结果为 "0"
 5 print(maxValue)   // 输出结果为 "255"
 6 
 7 //let a1 = maxValue + 1   // 程序执行到该行时崩溃
 8 let a2 = maxValue &+ 1
 9 print(a2)   // 输出结果为 "0"
10 
11 //let b1 = minValue - 1   // 程序执行到该行时崩溃
12 let b2 = minValue &- 1
13 print(b2)   // 输出结果为 "255"

 

四、空合并运算符

认识一下:a ?? b

与 'C' 不同:C语言中好像没有这玩意儿,Swift中的  空合并运算符  表示对  a  进行空判断,如果  a包含一个值  就对  a  进行解析,否则将  b  转化为  Optional类型  并返回。

使用条件:

1. a  必须是  Optional类型  的;

2. b的类型  必须与  a存储值的类型  相同。

 1 var aStr : String? = "aaa"
 2 let bStr = "bbb"
 3 var result = aStr ?? bStr
 4 print(result)  // 输出结果为 "aaa"
 5 
 6 var a : Int?   // a = nil
 7 let b = 4
 8 print(b)       // 输出结果为 "4"
 9 a = a ?? b
10 print(a)       // 输出结果为 "Optional(4)"

 

五、区间运算符

认识一下:闭区间运算符:a...b;开区间运算符:a..<b

与 'C' 不同:C语言中好像没有这玩意儿,Swift中的  闭区间运算符(a...b)  相当于  a <= x <= b,开区间运算符(a..<b)  相当于  a <= x < b。

1 var num : Int
2 for i in 0...6 {
3     num = i   // 该语句执行7次
4}
5 for i in 0..<6 { 6 num = i // 该语句执行6次 7 }

 

注:本文所有内容均基于Xcode7.2,如有不准确内容,敬请谅解!(2016-01-17)

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: