1.常量和变量
/********** 1.常量和变量的基本使用 **********/
var age : Int = 20
age = 25
let π : Double = 3.14
//π = 5.22
/********** 2.常量和变量的使用注意 **********/
// 注意点:
// 1> 在开发中优先使用常量,只有在需要修改时,在let改var.(数据更加安全)
// 2> 常量的意思:指向的对象不可用修改(指针不可以修改)
// 可以通过指针拿到对象,修改内部的属性
// 在swift中创建对象.类()
let view : UIView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
// 错误写法
// view = UIView()
view.backgroundColor = UIColor.red
// 在swift中使用枚举:类型.具体的类型
let btn : UIButton = UIButton(type: UIButtonType.contactAdd)
// btn = UIButton()
btn.center = CGPoint(x: 50, y: 50)
view.addSubview(btn)
2.数据类型
let a : Int = 20
let b : Double = 3.44
// swift中类型推导
// 如果一个标示符在定义时有直接赋值,那么可以根据后面赋值的类型,来推导出前面标示符的类型
// 那么这个时候,前面标示符的(: 类型)可以省略
// 可以通过快捷键:option+鼠标左键,来查看标示符的类型
var a = 20
// a = 1.44
var b = 3.14
// swift中的基本运算
// 在swift中,进行运算,必须保证类型是一致
// 因为:swift中没有隐式转化
// 将Double类型转成Int类型的方法:Int(Double类型标示符)
// 将Int类型转成Double类型的方法:Double(Int类型标示符)
let c = Int(b) + a
print(c)
var d = Double(a) + b
d = Double(a) * b
3.分支语句
// 三目运算符
let age = 20
let result = age >= 18 ? "可以上网" : "回家去"
print(result)
func onLine(age : Int) -> Bool {
guard age >= 18 else {
// 如果判断句为假,会执行else
print("回家找妈妈拿身份证")
return false
}
// 如果为真,继续执行
print("可以留下来上网")
return true
}
onLine(age : 17)
// 补充一:有case穿透,可以在语句后加fallthrough
let sex = 30
switch sex {
case 0:
print("男")
// fallthrough
case 1:
print("女")
default:
print("其他")
}
// 补充二:case中可以判断多个条件
// 如果想判断多个条件,可以通过,分割
switch sex {
case 0, 1:
print("正常人")
default:
print("其他")
}
// 特殊用法二:switch可以判断字符串
// 特殊用法三:switch中可以判断区间
区间:
闭区间:0~10 [0, 10] swift: 0...10
开区间:0~9 [0, 10) swift: 0..<10
4.循环语句
1.for
// 1.写法一:常规写法
for i in 0 ..< 10 {
print(i)
}
// 2.写法二:区间for循环
for i in 0..<10 {
print("开区间+ ((i))")
}
for i in 0...10 {
print(i)
}
// 3.写法三:如果for循环中没有用到i,可以将i用_代理
for _ in 0..<10 {
print("hello world")
}
2.while循环
// while循环
// 1> 不要()
// 2> 判断句必须有真假(Bool)
var a = 10
while a < 20 {
a += 1
print("111")
}
// do while循环
// 注意:在do while循环循环中,不要再使用do.而是使用repeat代替do
repeat {
a += 1
print("222")
} while a < 30