Swift:(二)、元祖、可选类型、运算符、字符串和字符

//1、元组:把多个值组合成一个复合值

//特点:元组中的值可以放多个类型

//1)元组的写法:

let dog = (age:5,name:"阿毛",gender:"")

//2)、元组的类型

//(Int,String,String,Bool,Double)

//3)、元素分解值

let (age,name,gender) = dog

//4)、简化写法:

let (age1,name1,_) = dog

//5)、元组的访问:

print(dog.age)

print(dog.0)


print("这条狗的名字是:" + String(dog.age))

print("这条狗的名字是:\(dog.1)")


//2、可选类型:用于处理值缺失或不存在的情况

let number:Int? = nil

print(number ?? 3)


var Name:String?//默认为空

Name = "doudou"


if Name != nil{

    print("值为空")

}else{

    print("值不为空")

}


//3、可选值绑定:通过if判断确定可选值是否有值,如果有值通过绑定到新的常量或变量

if let newName = Name{

    print(newName)

}else{

    print("获取不到newname")

}


//4、隐式可选类型:

var Name1:String! = "dsgdf"

let newName1:String = Name1!


//5、错误处理:

func canThrowAnError() throws{

    

}


do {

    //事务

    try canThrowAnError()

    //没有错误信息

}catch{

    //回滚

    //有错误信息

}


//二、运算符:


//1sorry 赋值运算符

let a = 2

var b = 5

b = 20


let (m,n) = (1,2)


//cOC的赋值不同,swift的赋值不会返回任何值

//if m = n{

//    

//}

//2、算术运算符:+ - * / % += -= *= /=


let c = (23 * 2 - 3 + 4) / 2.0

let d = 9 % 1


var e = 3

e += 4


print(c)


//3、比较运算符== 、!= > < >= <=

//===全等(恒等 )!= 判断是否引用的是同一对象的实例

if 1 > 1{

    

}else{

    

}


//4、三目运算符: (条件)表达式 表达式1 表达式2

//作用:代码简洁

let height = 20

let isHeader = true

var rowHeight = height + (isHeader ? 50 : 20)


if isHeader{

    rowHeight = height + 50

}else{

    rowHeight = height + 20

}


//作业:输出两个数的最大值(使用三目运算符)


//5、空合运算符:

//写一个可选值类型:

let Cat1:String? = nil

print(Cat1 ?? "小猫咪")


let  defualtColor = "red"

var NewColorName:String?

//可选值为nil,使用的是重新给定的默认值

var clolor = NewColorName ?? defualtColor


//可选值不为空,使用的是默认可选值

var newColorName:String? = "green"

clolor = newColorName ?? defualtColor


//6、区间运算符:(a...b

for i in 1...5{

    print("\(i) * 5 = \(i * 5)")

}

//作业:打印99乘法表


let className = ["huangjingzheng","caoyiyang","caodoudou","jiadongliang","lipengcheng","yuanlyin"]

let count = className.count

for m in 1...count {

    print(className[m - 1])

}


//作业:班级学生的姓名便利,使用两种方式输出


//7、逻辑运算:逻辑与&& 逻辑或|| 逻辑非!

let isEmpty = false

if !isEmpty{

    print("是真")

}


let isOpen = true


if !isEmpty && isOpen {

    print("是真")

}else{

    print("jia")

}


//作业:练习逻辑或 逻辑运算符的组合 && ||


//注意:优先级问题

if isOpen && (isEmpty || isEmpty) || !isOpen{

    

}else{

    

}


//三、字符串和字符:

//1、字符串:

let string = "hello world!"

//空字符串:

var emptystr = ""

//初始化字符串:(使用初始化方法)

var emptyString = String()


//判断字符串是否为空:

if emptyString.isEmpty{

    print("字符串是空的")

}

print(emptyString.isEmpty)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值