设为首页 加入收藏

TOP

swift 2.2 语法 (上)(二)
2017-10-13 10:33:18 】 浏览:7039
Tags:swift 2.2 语法
多种数据类型(包含浮点型、字符串类型)
  • switch支持区间判断
    • 常见的区间

      1.半开半闭区间:0..<10(表示0~9)

      2.闭区间:0...10(表示0~10)


    
    /* 假设成绩为100分 */
    
    let a = 88
    
    switch a {
    
    case 0..<60:
     print("不及格")
    case 60..<80:
     print("几个")
    case 80..<90:
     print("良好")
    case 90..<100:
     print("优秀")
    default:
     print("满分")
    
    }
    

  • 循环

    • 循环是开发中必不可少的,常见循环有:for/while/do...while
      • for循环
        • for后面的()可以省略


      //  传统写法
      for var i = 0; i < 15; i++ {
          print(i)
      }
      
      //  区间循环
      for i in 0..<15 {
          print(i)
      }
      
      for i in 0...15 {
          print(i)
      }
      
      //  特殊写法
      //  有时候我们只需要循环语句内的操作,不需要i,那么i可以用_代替
      for _ in 0..<15 {
          print("hello world")
      }
      
      • while循环
        • while的判断句必须有真假(没有非0即真概念)
        • while后面的()可以省略


      
      var a = 0
      
      while a < 10 {
          a++
      }
      
      • do...while循环
        • 使用repeat关键字代替了do


      let a = 0
      repeat {
          print(a)
          a++
      } while a < 20
      

    字符串

    • OC和swift中字符串的区别
      • OC中字符串类型为NSString,在swift中字符串类型为String
      • OC中字符串用@“”包装,swift中字符串用“”包装
    • 使用String原因
      • String是一个结构体,性能较高;NSString是一个OC对象,性能较差
      • String支持直接遍历
      • swift提供了String和NSString间无缝转换
    • 定义

      • 不可变字符串


      let str = "hello world"
      
      • 可变字符串


      var str = "hello world"
      
    • 使用
      • 获取字符串长度


      let count = str.characters.count
      
      • 遍历字符串


      var str = "hello world"
      
      for tmp in str.characters {
      
      }
      
      • 字符串拼接


      let str1 = "hello"
      let str2 = "world"
      let str = str1 + str2
      
      • 字符串和其它数据类型拼接


      let str1 = "xiao ming"
      let str2 = 23
      
      let str = "\(str1)今年\(str2)岁"
      
      • 字符串的格式化
        • 如:时间


        let min = 3
        
        let time = String(format:"%02d", arguments:[min])
        
      • 字符串截取方式
        • 常用方式:String转换成NSString后再截取(简便)


        let myStr = "hello world"
        var subStr = (myStr as NSString).substringFromIndex(4)
        subStr = (myStr as NSString).substringToIndex(3)
        subStr = (myStr as NSString).substringWithRange(NSRange(location: 4, length: 5))
        
        • 方式二:使用swift原生截取方式


        //  定义一个String类型的常量str
        let str : String = "http://blog.csdn.net/yeshaojian"
        
        //  截取开始位置
        let startIndex = str.startIndex.advancedBy(7)
        let head = str.substringFromIndex(startIndex)
        
        //  截取结束位置
        let endIndex = str.endIndex.advancedBy(-11)
        let foot = str.substringToIndex(endIndex)
        
        //  截取中间网址
        let range = Range(start: startIndex, end: endIndex)
        let middle = str.substringWithRange(range)
        

    数组

    • 介绍
      • 数组(Array)是一串有序的由相同类型元素构成的集合
      • 数组中的集合元素是有序的,可以重复出现
      • swift中的数组
        • swift数组是一个泛型集合,类型是Array,
    • 初始化数组
      • 数组分为可变数组和不可变数组
        • 使用let修饰的数组是不可变数组
        • 使用var修饰的数组是可变数组


        //  在swift中任意类型一般不用NSObject而会使用AnyObject
        //  定义一个不可变数组(存储内容为AnyObject)
        let array : [AnyObject] = ["123", 15, ["se"]]
        
        //  定义一个可变数组,并初始化值
        var arrayM : [String] = [String]()
        

        注意:在swift中任意类型一般不用NSObject而会使用AnyObject

      • 声明数组的简便写法


      //  声明可变数组
      var arrayM2 : Array<String>
      //  或
      var arrayM3 : [String]
      
      //  声明不可变数组
      let array1 : Array<AnyObject>
      let array2 : [AnyObject]
      

      注意:声明的数组需要初始化才能使用,数组类型一般都是在声明的同时进行初始化

      • 对声明的数组进行初始化


      //  初始化值
      arrayM2 = ["1", "2", "3"]
      //  初识化后可追加值
      arrayM2.append("隔壁老王")
      
      //  因为上面我们声明的array1是let(常量),所以初始化后不能追加元素(不能使用append追加元素)
      array1 = ["se", 234]
      
      • 数组的增、删、改、查

      //  定义一个可变数组
      var arrayM : [AnyObject] = ["123", 15, 25, 35]
      
      //  添加数据
      arrayM.append("隔壁老王")
      
      //  取值
      arrayM[4]
      
      //  修改元素
      arrayM[0] = "12"
      
      //  删除数组最前面的元素(这边填 2 就表示删除2次,所以执行完毕后 隔壁老李 和 "123" 会被删除)
      arrayM.removeFirst(2)
      
      //  删除数组最后面的元素
      arrayM.removeLast()
      
      /
    首页 上一页 1 2 3 4 下一页 尾页 2/4/4
    】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
    上一篇【IOS】自定义可点击的多文本跑马.. 下一篇OC NSSet

    最新文章

    热门文章

    Hot 文章

    Python

    C 语言

    C++基础

    大数据基础

    linux编程基础

    C/C++面试题目