美文网首页
swift 基础语法二 (运算符、条件语句、循环)

swift 基础语法二 (运算符、条件语句、循环)

作者: JianLee | 来源:发表于2021-06-08 11:11 被阅读0次

算术运算符

  • 算术运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符
  • 赋值运算符
  • 区间运算符
  • 其他运算符


    image.png
var A = 10
var B = 20

print("A + B 结果为:\(A + B)")
print("A - B 结果为:\(A - B)")
print("A * B 结果为:\(A * B)")
print("B / A 结果为:\(B / A)")
A += 1   // 类似 A++
print("A += 1 后 A 的值为 \(A)")
B -= 1   // 类似 B--
print("B -= 1 后 B 的值为 \(B)")

比较运算符

image.png
var A = 10
var B = 20

print("A == B 结果为:\(A == B)")
print("A != B 结果为:\(A != B)")
print("A > B 结果为:\(A > B)")
print("A < B 结果为:\(A < B)")
print("A >= B 结果为:\(A >= B)")
print("A <= B 结果为:\(A <= B)")

逻辑运算符

以下表格列出了 Swift 语言支持的逻辑运算符,其中变量 A 为 true,变量 B 为 false:


image.png
var A = true
var B = false

print("A && B 结果为:\(A && B)")
print("A || B 结果为:\(A || B)")
print("!A 结果为:\(!A)")
print("!B 结果为:\(!B)")

位运算符(比较复杂了解就行)

  • 十进制转二进制
    十进制整数转换为二进制整数采用"除2取余,逆序排列"法。
  87转换为二进制:
  87÷2=43余1
  43÷2=21余1
  21÷2=10余1
  10÷2=5 余0
  5÷2=2余1
  2÷2=1余0
  1÷2=0余1
  从下往上取余数1010111。所以,87[10]=1010111[2].

var A = 60  // 二进制为 0011 1100
var B = 13 // 二进制为 0000 1101

print("A&B 结果为:\(A&B)")
print("A|B 结果为:\(A|B)")
print("A^B 结果为:\(A^B)")
print("~A 结果为:\(~A)")

赋值运算

image.png

区间运算符

print("闭区间运算符:")
//包括1、2、3、4、5
for index in 1...5 {
    print("\(index) * 5 = \(index * 5)")
}

print("半开区间运算符:")
//包括1、2、3、4
for index in 1..<5 {
    print("\(index) * 5 = \(index * 5)")
}

其他运算符

  • 一元运算符对单一操作对象操作(如-a)
  • 二元运算符操作两个操作对象(如2 + 3)
  • 三元运算符就是三目运算符(a ? b : c)

运算符优先级

  • 指针最优,单目运算优于双目运算。如正负号。
  • 先乘除(模),后加减。
  • 先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7 等价于 (1 << (3 + 2))&7
  • 逻辑运算最后计算


    image.png

swift条件语句

  • if else if else
  • switch
  • 三目Exp1 ? Exp2 : Exp3;
    Swift 语言中 switch 语句的语法:
switch expression {
   case expression1  :
      statement(s)
      fallthrough /* 可选 */
   case expression2, expression3  :
      statement(s)
      fallthrough /* 可选 */
  
   default : /* 可选 */
      statement(s);
}
  • 一般在 switch 语句中不使用 fallthrough 语句。
  • 如果使用了fallthrough 语句,则会继续执行之后的 case 或 default 语句,不论条件是否满足都会执行。

swift循环

  • for-in 循环
for index in 1...5 {
    print("\(index) 乘于 5 为:\(index * 5)")
}

var someInts:[Int] = [10, 20, 30]

for index in someInts {
   print( "index 的值为 \(index)")
}
  • while循环
    如果条件为true,会重复运行一系列语句,直到条件变为false。
var index = 10

while index < 20 
{
   print( "index 的值为 \(index)")
   index = index + 1
}
  • repeat...while (类似其它语言的do-while循环)
var index = 15

repeat{
    print( "index 的值为 \(index)")
    index = index + 1
}while index < 20

index 的值为 15
index 的值为 16
index 的值为 17
index 的值为 18
index 的值为 19

循环控制语句

  • continue立刻停止本次循环迭代,重新开始下次循环迭代。
  • break语句会立刻结束整个控制流的执行。如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。
  • fallthrough语句让 case 之后的语句会按顺序继续运行,且不论条件是否满足都会执行。

相关文章

网友评论

      本文标题:swift 基础语法二 (运算符、条件语句、循环)

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