swift基础---逻辑分支

一.介绍下逻辑分支

  • 分支也就是if,switch,三目运算等判断语句
  • 通过分支语句可以控制程序都执行流程

二.if分支语句

  • 和OC中if语句有一定的区别
  • 判断句可以不加()
  • 在Swift的判断句中必须有明确的真假
    • 不再有非0即真
    • 必须有明确的Bool值
    • Bool有两个取值:false/true
       // 练习1                  
         let a = 10
       // 错误写法:           //正确的写法
       //if a {                if a>9{
       // print("a")           print("a")
       //}                     }

来解释下,上面有提过判断的时候必须用明确的Boll值 所以直接用a来做判断是不行的回报一下错误
error: 'Int' is not convertible to 'Bool'
练习二:


swift基础---逻辑分支_第1张图片
图1

练习三:

  • 可选类型,因为只有声明成可选类型后,才可以判断是否为空
  • 凡在变量或常量后加上?的都是一个可选变量/可选常量
swift基础---逻辑分支_第2张图片
图2

三. 三目运算符

  • Swift中的 三目运算保持了和 OC一致的风格
  var a = 10
  var b = 50
  var result = a > b ? a : b
  println(result)

四.guard的使用

  • guard是Swift2.0新增的语法
  • 它与if语句非常类似,它设计的目的是提高程序的可读性
  • guard语句必须带有else语句,它的语法如下:
    • 当条件表达式为true时候跳过else语句中的内容,执行语句组内容
    • 条件表达式为false时候执行else语句中的内容,跳转语句一般是return、break、continue和throw
      guard 条件表达式 else { 
      // 条换语句
          break
      } 
      语句组
       var age = 18
       func online(age : Int) -> Void { 
       guard age >= 18 else {
        print("回家去") 
       return } 
        print("可以上网")
         }
         online(age)

五.switch分支

switch 的介绍

  • Switch作为选择结构中必不可少的语句也被加入到了Swift中
  • 只要有过编程经验的人对Switch语句都不会感到陌生
  • 但苹果对Switch进行了大大的增强,使其拥有其他语言中没有的特性

switch的简单使用

  • 基本用法和OC用法一致
  • 不同之处:
    • switch后可以不跟()
    • case后可以不跟break(默认会有break)
 // case 穿透fallthrough 可以执行  下面的语句(比较特殊的需求)
    switch  sex {
    case 0:
    print("0")//打印0
    fallthrough
    case 1:
     print("1")//打印1
     default:
     print("其他")
    }

简单的补充:

  • 一个case判断中,可以判断多个值
  • 多个值以,隔开
      let sex1 = 0
      switch sex {
      case 0, 1:
       print("正常人")
      default
       print("其他")
      }
  • 特殊的用法 :可以判断浮点型 就不举例子了
  • 支持字符串类型
  • switch支持区间判断
    • 区间就是通常我们指的是数字区间:010,100200
    • 开区间:0..<10 表示:0~9,不包括10
    • 闭区间:0...10 表示:0~10
      let score = 88
     switch score {
     case 0..<60: 
     print("不及格")
     case 60..<80: 
     print("几个")
     case 80..<90: 
     print("良好")
     case 90..<100:
      print("优秀")
     default: 
     print("满分")
     }

你可能感兴趣的:(swift基础---逻辑分支)