swift的入门001

//

//  ViewController.swift

//  003基本语法

//

//  Created by Ninesday on 16/6/20.

//  Copyright © 2016年 Ninesday. All rights reserved.

//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.

        

        // if变化 没有了() 必须写上{}

        //没有了非nil即真  只有了false和true

        

        demo0()

        demo2()

        demo3()

        demo4()

        demo5()

        switchdemo()

        demo6()

        demo7()

        demo8()

        demo9()

        demo10()

        

    }

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }

    func demo0() {

        let x = 2

        if x > 3 {

            print("小了")

        }else {

            print("打了")

        }

    }

    

//    func demo1() {

//        let a = 10

//        if a > 5 print("fsd") ? print("ewqr")

//    }

    func demo2() {

        let name:String? = "huzuyu"

        let age: Int? = 20

        if name != nil {

            print("woai" + name!)

            print("woai" + name! + String(age!))

            

        }

        if let name_2 = name,age_2 = age {

            print("HI" + name_2 + "(age_2)")

        }

        

    }

    func demo3() {

        let a  = 2

        a > 5 ? print("哈哈") : print("呵呵")

    }

    

    // if let 的作用 对一个变量设置数值 进入分支后保证一定有值 注意多个变量的if let的使用,不用 &&和|| 这样的话就省去了你使用那个 !

    func demo4() {

        let oName :String? = "A excellent man"

        let oAge :Int? = 24

        if oName != nil && oAge != nil {

            //如何把数值转化为字符串

            print("I will become" + oName! + "------" + String(oAge!))

        }

        

        if let name = oName, age = oAge {

            print("Hi" + "I will coming" + name + "------" + String(age))

        }

    }

    

    //guard和if let是一种相反的指令

    //guard 可以让嵌套可以少一层 少做了一层判断  而if let 的处理都是把代码放在内部处理的

    func demo5()  {

        let oName : String? = "A good  Boy"

        let oAge : Int? = 24

        

        guard let name = oName  else {

            print("name的值为nil")

            return

        }

        

        guard let  age = oAge else {

            print("age == nil")

            return

        }

        print("huzyu (name)(age)")

    }

    

    //控制流

    //OC中switch OC中的switch(number) 只能为证整数

    //还有  对于OC中一个特俗的问题的就你必须要给他加上一个{}对于超过2行的和定义了变量的

    //避免case的穿透

    

    //swift中 可以不需要break 和 不要局限在Int分支可以对任意的代码

    //还有一个可以不用case穿透

// 必须涵盖所有的条件,每一个case必须含有含有一个语句  不能空

    func switchdemo()  {

        let  number  = "8"

        

        switch number {

        case "10","11": print("优秀")

        case  "9": print("还不错")

        case "8" :

            let name = "huzuyu"

            print("(name)")

        default :

            print("差")

        }

    }

    

    //可选项的替换 ??可以判断的Var 变是否为nil 

    //注意一个问题 ??会让之后的替换掉之前的变量   如果没有给这个变量加上括号的话在有值的时候就不会用后面替换

    //??最开始的映入就是去了省去!

    //??的优先级低

    // var 的可选项默认值为nil let的可选项默认没有初始值 需要初始化

    func demo6()  {

        var oName: String?//= "yangyan"

        print((oName ?? "") + "也好")

        print("------------")

        print(oName ?? "" + "也好")

    }

    

    

    

    //字符串 字符串的拼接 (变量名) 方式

    //swift里面的string 为结构体    OC中为继承NSOBJect的对象

    func  demo7() {

        let  name = "zhangshan"

        let  age = 19

        

        let center = view.center

        print("(name) (age) (center)")

    }

    

     //字符串的遍历 

    func demo8() {

     let  name = "hello word"

    

        for c in name.characters {

            print(c)

        }

    }

    

    func demo9() {

        let string = "你好世界"

        print(string.characters.count)

        print(string.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))

        

    }

    //时间的打印

    func demo10() {

        let h = 10

        let m = 8

        let s = 8

    print("(h):(m):(s)")

        //怎么专业的表达   格式化字符串

    let dataString = String(format: "%02d:%02d:%02d", arguments: [h,m,s])

        print(dataString)

    

    let dataString2 = String(format: "%02d:%02d:%02d", h,m,s)

        print(dataString2)

    }

    

}

原文地址:https://www.cnblogs.com/Ninesday/p/5606695.html