Swift学习(逻辑篇)

//顺序结构

//分支结构
//1.if-else
//  if 条件 {
//    语句块
//   }
//[注]条件必须是Bool类型
var a = 5
if a == 5 {
    a
}

//2.Switch-case
//[注]写Switch一定要有default
//[注]在Switch中, switch-case加强后,无需在每个case后添加break
var b = 3
switch b {
    case 0:
    b;
    case 1:
    b + 1;
case 2:
    b + 2;
case 3:
    b + 3;
    fallthrough //在Switch中通过使用fallthrough可以强制的执行下一个case
case 4:
    b + 4;
default:
    b + 5;
}


//switch中的case可以表示为一个范围,范围可以交叉,执行满足第一个条件后就会跳出去
var c = 20
switch c {
    case 0..<25 where c != 20://使用where进行双重判断
    println("在0~25之间")
//    fallthrough
case 10...30:
    println("在10~30之间")
default:
    println("没有这个数")
}

// 元组也可以作为switch条件
var point = (1, 1)
switch point {
case (0, 0):
    println("原点")
case (_, 0):
    println("在X轴上")
case (0, _):
    println("在Y轴上")
 
default:
    println("其他点")
}

//循环结构

// 1.for
for var i = 0; i < 20; i++ {
    i
}
// 2.for - in
for j in 0..<10 {
    j
}
// 3.while
var sum = 0
//while循环的条件也需要返回值为Bool类型的条件
//例如 while 1 {} 为错误案例
while sum < 10 {
    sum++
}

do {
sum++
} while (sum < 20)

/*************************练习****************************************/

//1.在数组中存放10个元组对象
var sdf = [(String, Int)]()
for var i = 0; i < 10; i++ {
    var sd = ("tian", 20 + i)
    sdf.append(sd)
}
sdf

//2.在字典中使用元组作为value
var fe = Dictionary<String, (String, Int)>()

fe["sb"] = ("wangwu", 20)

//3.在字典中使用数组作为value
var db = Dictionary<String, [(String, Int)]>()
db["1"] = sdf

var mtr : ([(String, Int)]) = ([("ghgh", 20), ("hhfhh", 22)])
mtr

var lgc : ((String, Int)) = (("sdhh", 20))
lgc

var lll : (String, Int) = ("sdhh", 20)
lll

/*******************************************************************/
// Optionals 可选类型
//在Swift中使用可选类型声明变量来处理值可能为nil的情况,如果有值那就是这个值,如果没有那就是nil
var values : Int?
// ?表示值是可选类型,有可能为nil
//Optional
let numberStr = "12345"
values = numberStr.toInt()
// 强制解析可选类型
values!

var value1 = values!
value1
//用!隐式解析可选类型, 去掉nil的情况

var values1 : Int!
let numberStr1 = "12345a"
values1 = numberStr1.toInt()
values = numberStr1.toInt()
//values!
//  ! 表示的是确实有值,而不是nil

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值