[swift]5.0控制語句

在swfit語言中,也提供了類似C語言的流程控制結構,包括可以多次執行任務的for和while循環,基於特定 條件執行不同代碼分支的if和switch語句,還有控制流程跳轉到其他代碼的break和continue語句。swift增加了for-in循環,用來更簡單的遍歷數組、字典、區間、字符串和其他序列類型。在本章內容中,將詳細講
解語句和流程控制的基本知識
5.1if語句
在swift程序中,if語句取決於一個或多個條件的值,if語句將決定執行哪一塊代碼。if語句有兩種標準形式,在這兩種形式裏都必須有大括號。
(1)第一種形式是僅當條件爲真時執行代碼,例如
if condition
{statements
}
(2)第二種形式是在第一種形式的基礎上添加else語句,當只有一個else語句時,例如如下所示的代碼
if condition{
statements to execute if condition is true}
else {statements to execute if condition is false}

5.2switch語句
Switch 表達式{
case 常量:語句

Default: 語句}
case後面的常量不僅可以是整數常量或是字符常量,也可以是浮點,布爾,字符串等,並加上一個冒號(:)。不同於C,swift的case語句後面可以不加break,它會在自動執行完對應的case語句後,就結束switch的語塊。而且Switch裏可以用區間運算符。
範例:var rank1 = “A”
switch rank1{
case “A”, “B”: // 注意OC不能這樣寫
print(“優”)
case “C”:
print(“差”)
default:
print(“沒有評級”)
}
Swift可使用區間的值
範例:
Let onePoint = (1,2)
Switch onePoint {
case(0,0):
Print(“0,0) 是在原點上”)
case(_,0):
Print(“(onePoint.0),0) 是在x軸上”)
case(0,_):
Print(“0,/(onePoint.1)) 是在y軸上”)
case(-3…3,-3…3):
Print(“(onePoint.0),(onePoint.1)) 是在正方形內”)
Default:
Print(“(onePoint.0),(onePoint.1)) 不在正方形內”)
}
輸出結果
(1,2)是在正方形內
case子句的下劃線(_)表示任何值。
在swift中在case語句中加上where關鍵字,可使條件變得更加嚴格。
let someOne = (“25”,”liyuanbo”)

switch someOne
{
case (_,let name) where name.hasPrefix(“li”):
println(“First name has li”)

default:
println(“First has not li”)
5.3guard語句
guard語句是swift 2.x新添加的關鍵詞,與if語句非常相似,可以判斷一個條件·爲ture的情況下執行某語句,否則終止或或跳過執行某條語句。guard語句不像if語句可以不帶 else,它必須必須帶有else。它與if語句如此相似爲什麼還要它呢。那是因爲它可以替換複雜的if-else語句嵌套,提高程序的可讀性。
guard的基本語法如下
guard 條件表達式 else{
跳轉語句
}
語句組
下面舉一個例子
// 定義一個結構體
struct Blog{
let name:string?//?表示可選擇類型Optional
let URL:string?
}
//定義一個函數
func ifStyleBlog(blog:Blog){
if let blogName =blog.name{
print(“博客名:(blog.name)”)
}else{
print(“沒有該博客”)
}
}
func guardStyleBlog(blog:Blog){
guard let blogName =blog.name else{
print(“博客名:(blog.name)”)
return
}
print(“沒有該博客”)
}
這樣子就能清晰的看到if 和guard的區別了
** let blogName =blog.name 表達式爲“值綁定”。他做了2個事情,一把blog.name 賦值給blogName 二是判斷blogName是否爲空。
5.4while語句
在swift程序中,while語句允許重複執行代碼塊。while語句的語法格式如下所示。
while condition {
statements}
while語句的執行流程如下所示。
(1)計算condition表達式:如果爲真,轉到第二步。如果爲假,while至此執行完畢。
(2)執行statements,然後轉到第一步。

5.5repeat while語句
repeat while 是在循環結束時判斷條件是否符合。
語法:
Repeat
{
statement(s);
}while( condition );
流程圖:
這裏寫圖片描述
範例:
import Cocoa
var index = 15

repeat{
print( “index 的值爲 (index)”)
index = index + 1}while index<20
index 的值爲 15
index 的值爲 16
index 的值爲 17
index 的值爲 18
index 的值爲 19
5.6for語句
for語句是應用最廣泛,功能最強的一個循環語句
它的格式如下
for 初始化;循環條件;跌送{
語句組
}
學過c的就會覺得swift跟c的for非常相似。只是for後面那3條語句有一個括號相乘。下面就舉一個例子。
for var i=i;i<10;i++;{
print(“(i)*(i)=(i*i)”)
}
當然跌送可以有2個變量
如for x=0,y=10;x

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章