常量和变量
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