swift流程控制

///   if条件句 可选值  ///

var str: String? = "hello"//这样的写法是可选值 也就是str 的只是可以改成nil什么的

//print(str == nil)

str = nil;

var greeting = "haha"

if let name = str {//如果可选值为nil,条件判断为false 大括号中的代码会被跳过,如果不是nil,则会赋值给let后面的常量,这样代码中就可以使用这个值了

    greeting = "hehe,\(name)"

}else {

    greeting = "heihei"

}

print(greeting)


let name : String? = nil //可选值

let name2 : String = "wpy"// 默认值

let name3 = "Hi \(name ?? name2)"//如果可选值缺失的话,可以用默认值来代替

print(name3)

/// switch /




//switch 支持  任意类型的数据  以及  各种比较操作 (已不再仅仅是整数以及测试相等了)

let  st = "cucumber  popper"

switch st {

    case "colery":

        print("1111");

    //break

    case "cucumber","watorcress":

        print("222")

    //break

    case let y where y.hasPrefix("cucumber")://他将匹配等式的值赋值给常量y

    print("ta is \(y)")

    case let x where x.hasSuffix("popper")://运行switch 中一旦匹配到的字句之后,程序就会停止,并不会在往下运行,所以就不要break

    print("it is \(x)")

    //break

    default://没有default 会报错

    print("ok")

}








/// //for 循环///

///单循环数组

let arr = [75,43,103,87,12]

var score = 0

for s in arr {

    if s > 50 {

        score += 3

    } else {

        score += 1

    }

}

print(score)




//双循环 字典

let dic = [

    "P" : [2,3,5,7,11,13],

    "F" : [1,1,2,3,5,8],

    "S" : [1,4,9,16,25],

]

var max = 0

var type:String = ""

//for-in 来遍历字典需要两个变量来表示每个键值对 字典是一个无序的集合 所以它的键值任意顺序迭代结束

for (key,values) in dic {

    for number in  values{

        if number > max {

            max = number

            type = key

        }

    }

}

print(type + "\(max)")



//循环中使用 ..< 表示范围 也可以用传统的方法

var wpy1 = 0

for i in 0..<4 { //不包括上界

    wpy1 += i

}


print(wpy1)


var wpy2 = 0

for i in 0...4 { //包括上界

    wpy2 += i

}


print(wpy2)


//传统的方法 单系统会推荐你用 上面的方法

var wpy3 = 0

for var i = 0;i < 4 ;i+=1 {

    wpy3 += i

}


print(wpy3)

while /


var n = 1

var sum = 0


while n < 100 {

    sum += n

    n += 1 //n ++ 会警告

}

print(sum)



var sum1 = 0

repeat {

    sum1 += n;

} while n < 0 //相当于do-while 不管是否符合条件 都会执行一次


print(sum1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值