swift基本语法——运算符

在编程中,表达式是最小的程序单位。表达式由两部分组成:运算符和操作数。用于表示各种不同运算的符号运算符,指出了操作符参与的运算规则。

赋值运算符

赋值运算a=b中,表示用等号右边的b的值初始化或更新a的值。
赋值运算符不返回值,以防止把想要使用相等运算符(==)的地方写成赋值运算符导致的错误。

单目负运算符

单目负运算符(-)用于切换数据类型的负正。
单目运算符(-)写在操作数的前面,中间没有空格。

算术运算符

1.基本四则算术运算符
基本的四则算术运算符:加法(+)、减法(-)、乘法(*)、除法(/)
Swift语言默认情况下不允许在数值运算中出现数值溢出的情况,编译器会检测数值溢出并报错。
加法运算符也可以用于字符串的拼接

var abc = "hello," + "world"
print(abc)

2.求余运算符
求余运算(a%b)是计算a除以b之后的余数的运算符。
(1)正整数求余

let a = 5/2      // 除法操作,a = 2
let b = 5%2    // 求余操作,b = 1

(2) 负数求余
求余操作的结果是正是负,由求余操作符左边的被除数决定,被除数是正,则结果为正,反之则反。

let a = -9%2         // a = -1
let b = -9%-2       // b = -1
let c = 9%-2         // c = 1

注意:在Swift3.0中对浮点数求余不能使用%运算符,需要使用tuuncatingRemainder(_:)方法实现,示例代码如下:

let a = (7.5)tuuncatingRemainder(dividingBy:2)  // a的值是1.5

在这个示例中,7.5除以2等于3,余数为1.5,所以结果是一个Double类型的数值1.5。
3.复合赋值运算符
复合赋值运算符是由一个算术运算符和一个赋值运算符组合而成,包括“+=” “-=” “*=” “/=” "%="。

var a = 20
let b = 5
a += b            // 相当于a = a + b
a -= b             // 相当于a = a - b
a *= b             // 相当于a = a*b
a /= b              // 相当于a = a/b
a %= b            // 相当于a = a%b

注意:
1.复合赋值运算符没有返回值,所以let b = (a += 2)这样的表达式是错误的。
2.从Swift2.2开始,去掉了C语言中继承来的自增运算符(++)和自减运算符(--)。

比较运算符

比较运算符用于计算两个操作数之间的数值大小关系。

  • 等于(a == b)
  • 不等于(a != b)
  • 大于 (a>b)
  • 小于 (a<b)
  • 大于等于 (a>=b)
  • 小于等于 (a <= b)

比较运算符的返回值为Bool类型,表示表达式是否成立。

let name = "jack"
if name == "jack" {
    print("hello,itcast");
} else {
    print("对不起,我不认识你")
}

三目运算符

a ? b:c

a表示问题,可以是表达式、常量或者变量,a必须返回Bool类型。如果a为true,则表达式结果为b,如果a为false,则表达式结果为c。

逻辑运算符

  • 逻辑非(!a)
  • 逻辑与(a && b)
  • 逻辑或 (a || b)
  • 组合逻辑判断
    逻辑运算符(&&和||)是左结合的,意味着在复合逻辑表达式中优先计算左边的表达式。
    &&的优先级高于||
    可以加入括号改变各表达式中各操作的优先级,为了让逻辑表达式更易于理解,在使用复合逻辑表达式时可以使用括号来明确优先级。

区间运算符

1.闭区间运算符

a...b

它用于定义一个包含从a到b(包括a和b,b必须大于等于a)的所有值得封闭区间。

for i in 1...5
{
   print(i);
}

2.半闭区间运算符

a..<b

它定义一个从a到b但不包括b的区间,之所以称为半闭区间,是因为该区间包含了区间的开始值,但是不包含结束值。
半闭区间用于for-in循环,非常适用于一个从0开始的列表(比如数组)。

let array = ["a","b","c","d","e"];
let count = array.count
for i in 0..<count {
    print(array[i])
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 运算符是检查、改变、合并值的特殊符号或短语。例如,加号+将两个数相加(如let i = 1 + 2)。更复杂的运算...
    穷人家的孩纸阅读 15,013评论 3 6
  • 运算符 是可以检查,修改或者组合值的特殊符号或者短语。例如,加法运算符(+)将两个数相加,像let i = 1 +...
    BoomLee阅读 5,836评论 0 4
  • 此生,我们绝大多数人都不可能活得随心所欲,任由自我,因为我们不是自己创造了自己,而是父母创造了我们,而我们又得住在...
    行走的点阅读 1,342评论 0 0
  • 很多时候,我们会觉得自己非常忙,而结果是瞎忙。任何时候,我们要有主次之分,要有条理的进行。 在店面我们通常会觉得自...
    小笨鱼王月阅读 1,274评论 0 0
  • 今晚和一个孩子聊到"梦想"的话题! 老师,我没找到我的梦想! 嗯,我明白,是不是不知道未来自己可...
    徐红育儿随笔阅读 3,587评论 2 2

友情链接更多精彩内容