Swift变量-循环-分支

2017-06-28  本文已影响11人  Never_Yg

常量和变量

1,建议先定义常量let,如果需要修改在修改成变量var(更加安全)
2,let是指向的对象不可以仔修改,但是对象内部的属性可以修改


// 注意:声明为常量不可以修改的意思是指针不可以再指向其他对象.但是可以通过指针拿到对象,修改其中的属性
// view : UIView = [[UIView alloc] init];
// Swift对象中不需要*
var view : UIView = UIView()
view = UIView()

let view1 : UIView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
view1.backgroundColor = UIColor.redColor()


数据类型

类型推导:会根据后面的赋值来决定前面标识符的数据类型
Swift没有隐式转换(强类型语言)
类型转化: Double(标识符)

逻辑分支

if

if score < 60 {
    print("不及格")
} else if score <= 70 {
    print("及格")
} else if score <= 80 {
    print("良好")
} else if score <= 90 {
    print("优秀")
} else {
    print("完美")
}

guard

guard必须带有else语句
false执行else内容

var age = 18

func online(age : Int) -> Void {
    guard age >= 18 else {
        print("回家去")
        return
    }

    print("可以上网")
}

online(age)

switch

1,switch后可以不跟()
2,case后可以不跟break(默认会有break)

let sex = 0

switch sex {
case 0 :
    print("男")
case 1 :
    print("女")
default :
    print("其他")
}

3,可以判断多个值,用,号隔开


let sex = 0

switch sex {
case 0, 1:
    print("正常人")
default:
    print("其他")
}

4,如果需要case穿透,使用关键字fallthrough


let sex = 0

switch sex {
case 0:
    fallthrough
case 1:
    print("正常人")
default:
    print("其他")
}

5,支持多种数据类型


let f = 3.14
switch f {
case 3.14:
    print("π")
default:
    print("not π")
}

6,支持区间判断


let score = 88

switch score {
case 0..<60:
    print("不及格")
case 60..<80:
    print("几个")
case 80..<90:
    print("良好")
case 90..<100:
    print("优秀")
default:
    print("满分")
}

循环

for


// 传统写法
for var i = 0; i < 10; i++ {
    print(i)
}

//区间
for i in 0..<10 {
    print(i)
}

for i in 0...10 {
    print(i)
}

while和do while

var a = 0
while a < 10 {
    a++
}

使用repeat来代替do

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


上一篇下一篇

猜你喜欢

热点阅读