美文网首页
Swift5-外行零基础入门_5-运算符

Swift5-外行零基础入门_5-运算符

作者: DavidShawn | 来源:发表于2020-12-19 21:51 被阅读0次

    运算符

    什么是运算符?

    所谓运算符,其实可以简单理解为小学数学中的加减乘除。
    我们可以对常量和变量进行运算。

    // 比如,我们定义一个长方形的长为a,宽为b
    let a = 3
    let b = 6
    // 那么,长方形的面积就是
    var area = a * b    // 18
    

    但是,事情没有那么简单。还有很多地方使用和利用了这样的一些符号:+ - * / % = > < !。于是,很多语言,包括Swift,就把用到这些符号的地方,都叫做运算符。
    其实,就是符号,很多跟运算已经没啥关系了。

    被称为运算符的都有哪些?

    • 算术运算符
      这个最好理解,也是我们理解运算符的起点。
      算术运算符分为加,减,乘,除,求余。加 减 乘 除很好理解,他们对应的键盘符号是+ - * /
      求余的符号是%,它的意思不是百分比,而是求余数,比如,10除以3,结果是3,余1,用代码表达就是:
      let x = 10
      let y = 3
      var remainder = 10 % 3  // 1
      
    • 赋值运算符
      把某个值,赋给某个常量或变量,因为借用了=这个运算符,称之为赋值运算符。
      之前我们已经用过很多了,比如let a = 10,就是把10赋值给常量a。
      还有高级一些的用法,比如let (x,y) = (1,2),那么x的值就是1,y的值就是2。
      再比如已经定义了let a = 10; var b = 20,可以接着定义b = a,这时b的值就是10。关于这个问题,很多大神喜欢讲内存、指针等原理,对于我这样的新手来时,亲手打印结果试一试最安心。
      赋值运算符另一种高级的形式是,+= -=,举个例子:
      var a = 10
      a += 1
      print(a) // 11
      
      因此,我们可以看出,a += 1,就是 a = a + 1
    • 比较运算符
      就是比较两个数据,等于==,不等于!=,大于>,大于等于>=,小于<,小于等于<=。它们返回的值就是布尔值,也就是true 或 false,比如1 == 1,返回的就是true。你现在就可以在Playground中试一下其他几种比较运算符。
      因为它们返回的是一个布尔值,因此,常常用在if语句中,作为判断的条件。比如,如果判断你的分数大于90分,就给出优秀的评语。
      var score = 95
      if score >= 90 {
        print("优秀!")
        }
      
      关于if语句的具体用法,我们后面还会介绍,这里,你只需要理解意思即可。
    • 逻辑运算符
      简单来说,就是非 与 或,使用的符号是! && ||
      先举个例子,
      1. 如果开车超速并且被拍到,就会被扣分;// 与
      2. 如果开车超速或者疲劳驾驶,都很危险;// 或
      3. 如果开车不超速,就是良好市民。// 非
        用代码表示的话,就是这样:
      let a = 超速
      let b = 被拍
      let c = 疲劳驾驶
      if a && b {
        print("扣分!")
      }
      if a || c {
        print("太危险了!")
      }
      if !a {
        print("良好市民!")
      }
      
      上面这段代码只是展示逻辑关系,其实并不能被swift直接运行,逻辑运算符结合的都是布尔值,我们改造一下:
      // swift支持中文,我们直接使用中文表达,实际开发中不建议
      let 超速了 = false
      let 被拍 = false
      let 疲劳驾驶 = true
      // 我们将是否超速,是否被拍等定义为布尔值。可以改变这些布尔值,从而得到下面不同的结果。
      if 超速了 && 被拍 {
          print("扣分")
      }
      if 超速了 || 疲劳驾驶 {
          print("太危险了!")
      }
      if !超速了 {
        print("良好市民!")
      }
      
      请在Playground中自由练习下吧,设置一些好玩的情形,尝试各种可能。这样做很重要,亲手敲出的代码才能帮助你加深理解。
    • 三元运算符
      什么是三元?有没有一元?二元?有的,
      一元,就是-a+a!a
      二元,就是a+b
      也就是说,一元中,只有一个对象a,二元中,有两个对象a b,同理,三元中,就有三个对象,格式是这样的:
      c ? a : b,意思是,c成立吗?成立的话,结果是a,不成立的话,结果是b
      let c = true
      let a = 1
      let b = 2
      c ? a : b // 1 
      
    • 区间运算符
      意思是某个区间范围的值,有两种形式,a...ba..<b,两种形式。举例说明:
    let range1 = 1...5
    for i in range1 {
        print(i)
    }
    // 打印1,2,3,4,5五个数字
    
    let range2 = 1..<5
    for i in range2 {
        print(i)
    }
    // 打印1,2,3,4四个数字
    

    小结与预告

    所谓运算符,除了算术运算符中是我们通常说的数学运算类似,其他跟数学运算都没什么关系。
    因为所有的数据类型其实都要靠运算符操作,因此,掌握他们就很重要。当然,后续会不断的用到并加强的。
    对于文字型或者说字符型的处理,还有一套方法,我们下节见。

    相关文章

      网友评论

          本文标题:Swift5-外行零基础入门_5-运算符

          本文链接:https://www.haomeiwen.com/subject/dzlhiktx.html