Swift流程式控制制語句

來源:互聯網
上載者:User
////  main.swift//  Swift流程式控制制語句////  Created by Goddog on 15/6/24.//  Copyright (c) 2015年 Goddog. All rights reserved.//import Foundation//MARK: - 順序結構//MARK: - 分支結構//MARK: -  -if條件陳述式//注意一定要優先處理範圍小的情況  ,下面得到“中年人”var age = 45if age > 60{    println("老年人")}else if age > 40{    println("中年人")}else if age > 20{    println("青年人")}//MARK: - -switch分支語句/**    1.任意一個case可以緊跟多個值,2.任意一個case執行完成之後會終止無需break語句,3.每一個case必須包含一條語句    4.用fallthrough慣穿,即繼續往下走,5.也可以用break立刻結束*/var score = "c"switch score{    case "A", "a":        println("優秀")    case "B", "b":        println("良好")    case "C", "c":        println("中等")    case "D", "d":        println("及格")    case "F", "f":        println("重考")    default:        println("輸入有誤")}//switch的範圍匹配var myscore = 98switch myscore{    case 90...100:        println("優秀")    case 80...89:        println("良好")    case 70...79:        println("中等")    case 60...69:        println("及格")    case 0...60:        println("不及格")    default:        break}//switch的元組匹配//其中_是代表匹配所有可能的值var somePoint = (x:1, y:-4)    //代表第四象限switch somePoint{    case (0, 0):        println("(0, 0)位於原點")    case(_, 0):        println("(\(somePoint.0), 0)位於x軸上")    case(0, _):        println("0, \(somePoint.1)位於y軸上")    case(0...Int.max , 0...Int.max):        println("\(somePoint.0), \(somePoint.1) 位於第一象限")    case(Int.min..<0, 0...Int.max):        println("\(somePoint.0), \(somePoint.1) 位於第二象限")    case(Int.min..<0, Int.min..<0):        println("\(somePoint.0), \(somePoint.1) 位於第三象限")    case(0...Int.max, Int.min..<0):        println("\(somePoint.0), \(somePoint.1) 位於第四象限")    default:        break}//注意:範圍越小的case塊應該放在最前面//case的值綁定:switch運算式的值綁定到臨時的變數或常量,無需default結束了var hisScore = 404switch hisScore{    case 91...100:        println("優秀")    case 80...89:        println("良好")    case 70...79:        println("一般")    case 60...69:        println("及格")    case 0..<60:        println("掛科")    case let scor:        println("輸入的\(scor)有誤")}var somesPoint = (x : 1, y : 0)switch somesPoint{case (0, 0):    println("(0, 0)位於原點")case (var x, 0):    println("位於x軸上的\(x)")case(0,var y):    println("位於y軸上的\(y)")case(var x, var y):    println("位於其他點\(x) ,\(y)")}//case的where子句var somesPionts = (x : -1, y : 4)switch somesPionts{    case (0, 0):        println("(0,0)位於原點")    case (var x, 0):        println("該點位於x軸上,其x值是:\(x)")    case (0, var y):        println("該點位於y軸上,其y值是:\(y)")    case var (x, y) where x>0 && y>0:        println("\(x),\(y)點位於第一象限")    case var (x, y) where x<0 && y>0:        println("\(x),\(y)位於第二象限")    case var (x, y) where x<0 && y<0:        println("\(x),\(y)位於第三象限")    case var (x, y) where x>0 && y<0:        println("\(x),\(y)位於第四象限")    default:        break}//MARK: -迴圈結構//1.while迴圈var count = 0while count < 10{    println("count值是:\(count)")    count++;}println("迴圈完成")//2.do..while迴圈var counts = 1do{    println("counts的值是:\(counts)")    counts++}while counts < 10//for迴圈for var count=0; count<10;count++{    println("count:\(count)")}//for迴圈以外的地方使用變數的值var tmp = 0for var i = 0; i < 10; i++{    println("i的值是:\(i)")    tmp = i}println("結束迴圈")//for - in迴圈:專門遍曆字串、範圍、序列、集合等包含元素var name = "huxu"for n in name{    println(n)}//如果根據字串長度確定迴圈次數,不要在迴圈體內遍曆字元,用底線_代替常量名for _ in name{    println("1")}println()//變數範圍var max = 5var result = 1for num in 1...max{    result *= num}println("結果是:\(result)")//嵌套迴圈for var i=0;i<5;i++{    for var j=0;j<3;j++    {        println("i的值是:\(i),j的值是:\(j)")    }}//控制迴圈結構//Swift提供來continue和break來控制迴圈結構,return可以結束整個方法for var i=0;i<10;i++{    println("i的值是:\(i)")    if i == 2    {        //執行迴圈結束語句        break    }}//break不僅可以結束其所在迴圈,還可以直接結束其外層迴圈,在break後加一個標籤//外層迴圈,outer作為標誌符outer: for var i=0;i<5;i++{    //內迴圈    for var j=0;j<3;j++    {        println("i的值是:\(i),j的值是:\(j)")        if j==1        {            //跳出outer標籤所標緻的迴圈             break outer        }    }}//使用continue忽略本次迴圈剩下的語句for var i=0;i<3;i++{    println("i的值是\(i)")    if i==1    {        //忽略下面的語句        continue    }    println("沒有列印哪個呢")}println("continue結束")//continue後可以緊跟一個標籤//用return結束方法

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.