Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Swift开篇002->基本运算符大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

PART_A 运算符 赋值运算符:= 普通赋值 var num num = 5 元组赋值 let (x, y) = (0, 0) = 操作不返回任何值 算数、组合赋值、自增自减、、负号、字符串拼接 求余时符号只看左边,可对浮点数求余 let a = 3, b = 4 // 算数运算 var c = 0 c = a + b c = a - b c = a * b c = a / b c = a

PART_A 运算符

  1. 赋值运算符:

    • 普通赋值

      var num
      num = 5
    • 元组赋值

      let (x,y) = (0,0)
    • = 操作不返回任何值

  2. 算数、组合赋值、自增自减、、负号、字符串拼接

    • 求余时符号只看左边,可对浮点数求余

      let a = 3,b = 4
       // 算数运算
      var c = 0
      c = a + b
      c = a - b
      c = a * b
      c = a / b
      c = a % b
       // 组合赋值运算
      c += a
      c -= a
      c *= a
      c /= a
      c %= a
       // 自增自减运算
      c++ // 先自增,再返回值
      c--
      ++c // 先返回值,再自增
      --c
       // 负号
      -c
       // 字符串拼接
      String str = "Hello " + "world"
  3. 比较运算符

    let a = 3,b = 4
    
    a == b
    a != b
    a > b
    a >= b
    a < b
    a <= b
  4. ? : 三目运算符

    let num = 3
    num == 5 ? "yes" : "no"
  5. ?? 空合运算符

    • 判断a,若为空则返回b值,若不为空解封并返回a值

    • a必须是Optional类型

    • b的存储值类型必须和a一致

      var a:Int?,b = 5
      a ?? b
      a != nil ? a! : b
  6. 区间运算符

    • a ... b 闭区间

      • b必须大于a

      • 半开区间:a ..< b 或者 a >.. b

      • 数组遍历时:0 ..< strArr.count

      for x in 1 ... 9 {
          for var y = 1; y <= x; y++ {
              print("\(y) * \(X) = \(x * y)",terminator:"\t")
              // 字符串插值:通过\()来插入实际值
              // \()中不能包含非转义\、回车、换行符
          }
          print()
      }
  7. 逻辑运算

    • 非:!a

    • 与(短路):a && b

    • 或(短路):a || b

  8. 推荐使用 () 来明确优先级

PART_B 字符串

  1. 初始化空字符串(两种方式等价)

    • var str = ""

    • var str = String()

  2. 判空

    • str.isEmpty
  3. 拼接

    • var str = "hi " + "catface"

      var str = "Hello"
      let c : Character = "!"
      str.append(C) // str = "Hello!"
  4. 字符 Character

    • 初始化:let c : Character = "!"

    • 字符数组构造字符串

      let characters : [Character] = ["c","a","t","��"]
      let str = String(characters)
      print(str)
    • 遍历

      for c in "Hello ~~ ☆".characters {
          print(C)
      }
      // h
      // e
      // ...
  5. Unicode(国际标准,用于文本的编码和表示)

    • 字符串字面量的特殊字符

      特殊字符 含义
      \0 空字符
      \ 反斜线
      \t 水平制表符
      \n 换行符
      \r 回车符
      \” 双引号
      \’ 单引号
    • 可扩展的字形群集

      let c1 : Character = "\u{E9}"
      let c2 : Character = "\u{65}\u{301}"
      print("c1:\(c1),c2:\(c2),c1 == c2:\(c1 == c2)")
      // c1:é,c2:é,c1 == c2:true
      // 使用可拓展的字符群集改变字符串时,并不一定会更改字符串的字符数量
  6. 访问和修改字符串

    • 索引

      let str = "Hello world"
      print(str[str.starTindex])
      
      print(str[str.starTindex.successor()])
      print(str[str.endIndex.predecessor()])
      
      print(str[str.starTindex.advancedBy(3)])
      
      for index in str.characters.inDices {
          print(str[index],terminator : " ")
      }
      // h,e,d,l
      // h e l l o w o r l d 
      • starIndexString的第一个Charater的索引

      • endIndexString的最后一个Charater的索引,不是有效的字符串下标

      • successor():后一个索引

      • predecessor():前一个索引

      • advancedBy(indeX):指定位置的索引

      • inDices:创建一个包含全部索引的范围(RangE)

    • 插入和删除

      • insert(_:aTindex:):指定索引插入字符

      • insertContentsOf(_:at):指定索引插入字符串

      • removeATindex(indeX)删除指定索引的值

      • removeRange(rangE)删除指定索引的子字符串

        var str = "Hello world"
        
        str@H_715_696@.insert("-",aTindex:str@H_715_696@.starTindex) 
        // str = "-Hello world"
        
        str@H_715_696@.insertContentsOf("==="@H_715_696@.characters,at: str@H_715_696@.endIndex)
        // str = "-Hello world==="
        
        str@H_715_696@.removeATindex(str@H_715_696@.starTindex) 
        // str = "Hello world==="
        
        str@H_715_696@.removeRange(str@H_715_696@.endIndex@H_715_696@.advancedBy(-3) ..< str@H_715_696@.endIndex)
        // str = "Hello world"
  7. 比较字符串

    • 字符串/字符相等:==!=

    • 前缀/后缀相等:hasPrefix(str)hasSuffix(str)

      if str.hasPrefix("Hello") {
          if str.hasSuffix("world") {
              print("yes")
          }
      }

以上。如有错误和疑问,欢迎指正提出。 catface.wyh@gmail.com

大佬总结

以上是大佬教程为你收集整理的Swift开篇002->基本运算符全部内容,希望文章能够帮你解决Swift开篇002->基本运算符所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。