转载

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

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

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

一、赋值运算符

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

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

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

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

二、取余运算符

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

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

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

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

三、溢出运算符

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

与 '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)

原文  http://www.cnblogs.com/xmcqcc-001/p/5138032.html
正文到此结束
Loading...