Swift_运算符_流程控制

//
//  main.swift
//  3Swift_运算符
//

import Foundation
//+ - * / % ++ --  =  +=  -=    == > < >= <= !=    || &&

//%  ++ 支持浮点数

//swift  禁止连续赋值
//    
//    || && 两遍必须是布尔值

/*
区间运算符  整数
(a...b) 闭区间
(1…3) 1 ,2 ,3

半闭区间 a..<b  1..<3  -> 1,2  (beta 1 不需要加< 后面beta 需要加)
*/

//1.//swift 和C语言的不同
func test1() {
    //%  ++ 支持浮点数
    var a:Int = 3
    let b:Int = 5
    
    let c = b%4
    print("c:\(c)")
    
    let d = 5.0
    //% 两侧可以是浮点数
    let c2 = d%2.4
    print(c2)
    
    var x:Int = 2
    let newX = x++
    print(newX)
    print(x)
    
    //小数也可以自增自减 1
    
    var y:Double = 3.14
    let y2 = y++
    print("y2->\(y2)  y->\(y)")
}
test1()
//2.区间运算符
/*
区间运算符  整数
(a...b) 闭区间
(1…3) 1 ,2 ,3  ->

半闭区间 a..<b  1..<3  -> 1,2
*/
func test2() {
    //可以用于循环 和 switch
    //循环 10次 i 分别是1 2 3 。。。 10
    for i in (1...10) {//for 可以不写() 但是{}必须写
        //快速枚举 i 不需要给类型  根据后面的区间 类型推断 
        print("i = \(i)")
    }
    //循环4次  1 2 3 4
    for i in (1..<5) {
        print(i)
    }
    
    //当我们只是为了循环10次 不需要使用变量i 那么 可以不写 i 用'_' 通配符
    for _ in (1...10) {
        print("xiaohong")
    }
}
test2()






//
//  main.swift
//  4Swift流程控制
//

import Foundation
//1.if
func  testIf() {
    /*
    if (表达式) { //括号()可以不写
        表达式的值 必须是布尔值
    
    }*/
    let money = 100
    //1.
    if money > 50 {
        print("为你亮灯哟")
    }
    //2.
    if money > 50 {
        print("为你亮灯哟")
    }else {
        print("等你赚够钱再来吧")
    }
    
    //3.
    if money < 50 {
        print("等你赚够钱再来吧")
    }else if money >= 50 && money <= 100{
        print("为你亮灯")
    }else {
        print("为你爆灯")
    }
}
//testIf()

//2.switch
func testSwitch() {
    //switch 后面的表达式 可以是任意类型
    
    let c = "a"
    
    switch c {
        case "a":
            print("a")//后面可以不加break swift 中执行完case后面的语句之后就会退出 switch -case结构
        case "b":
            print("b")
        default: //最后必须要加default
            print("other")
    }
    
    switch c {
        case "a","A": //可以这样写
            print("a")//后面可以不加break swift 中执行完case后面的语句之后就会退出 switch -case结构
        case "b":
            print("b")
        default: //最后必须要加default
            print("other")
    }
    
    
    //还可以是浮点数
    
    let f = 3.14
    
    switch f {
    case 1.1:
        print("1.1")
    case 3.14:
        print("3.14")
    default:
        print("other")
    }
    
    //广义匹配
    let num = 99
    
    switch num {
        case (1...50)://case 后面 可以写区间
            print("1-50")
        case (51...100):
            print("51-100")
        case (101...200):
            print("101-200")
        default:
            print("other")
    }
    //还可以是元组
    let point = (3,100)
    
    switch point {
        case (0,0):
            print("原点")
        case (1,1):
            print("(1,1)")
        case (2...10,2...10)://元组中可以写成区间
            print("2-10,2-10")
        case (_,100):// 表示 只需要匹配 第二个元素 第一个元素可以是任意的值
            print("x轴")
        default:
            print("other")
        
    }
    
    //让 case 下面的语句继续向下执行
    let n = 1
    switch n {
        case 0:
            print("0")
            fallthrough //表示继续向下执行 (遇到fallthrough 会继续执行下面的代码 而不会退出 switch-case)
        case 1:
            print("1")
            fallthrough
        case 2:
            print("2")
            fallthrough
        case 3:
            print("3")
            fallthrough
        default:
            print("")
    }
    
}
//testSwitch()
//3.循环
func testFor() {
    //i++ i 和++ 中间不能有空格
    //普通for
    var sum = 0;
    for var i = 1;i <= 10;i++ {
        sum += i
    }
    print("sum = \(sum)")
    
    //还可以用快速枚举 快速枚举可以遍历集合 和 区间
    for k in (1...10) {//k 不需要定义
        print("k = \(k)")
    }
    
    //遍历数组
    for m in [1,2,3,4,5] {
        print("m = \(m)")
    }
    
    //遍历字典
    for point in ["one":1,"two":2] {
        //遍历字典 point  得到是一个元组类型
        //(one,1)  (two,2)
        print("point = \(point)")
    }
    for (x,y) in ["one":1,"two":2] {
        //遍历字典 point  得到是一个元组类型
        //(one,1)  (two,2)
        print("x = \(x) y = \(y)")
    }
    
    
    //遍历字符串
    for c in "helloworld".characters {
        print("c = \(c)")
    }
    /*
    for ;; {
        println("死循环")
    }*/
    
    for var i = 0;i < 10;i++ {
        if i == 5 {
            break//结束循环
        }
        print("i = \(i)")
    }
    
    for var i = 0;i < 10;i++ {
        if i % 2==0 { //偶数
            continue //结束本次循环继续下一次循环
        }
        print("i = \(i) 是奇数")
    }
    
    
}
//testFor()
func testWhile() {
    var i = 0
    while i < 10 {//表达式需要是布尔值
        print("i = \(i)")
        i++
    }
}
testWhile()






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值