SWIFT邏輯控制之控制轉移

2021-07-31 20:18:25 字數 1152 閱讀 3623

swift 提供了5個關鍵字 :break 。 continue。 fallthrough。return。throw

下面通過乙個例子來幫助我們理解break的使用

需求:求x^4 - y^2 = 15*x*y在300以內的乙個正整數解

我們可以列舉1~300的數

方法一:

var getanswer = false

getanswer = false

for x in 1...300

if getanswer

}}

列印結果為 4 4

這種方法 通過二判斷,**比較冗餘,不易閱讀

方法二:

我們可以給整個迴圈新增乙個變數名, 在**裡break

getanswer : for x in 1...300

}}

列印結果為 4 4

1.加了fallthrough後,會直接執行【緊跟的後乙個】case或default語句,不論條件是否滿足都會執行

switch age 

//輸出結果:

小朋友大朋友

2.加了fallthrough語句後,緊跟的後乙個case條件不能定義常量和變數

switch age 

//程式報錯:

'fallthrough' cannot transfer control to a case label that declares var

ps:第乙個case執行完後(輸出「小朋友」)會直接執行下乙個case,而下乙個case條件裡定義了臨時變數x,這樣就導致直接從上乙個case進來的並沒有這個變數x,那如果case語句裡用到了x,很明顯就會出錯。swift這麼要求安全的一種語言自然是不允許發生這種事情的,所以,fallthrough後乙個case條件裡不允許定義常量/變數——除了緊跟著的後乙個,後面的其他case還是可以定義常量/變數的(如第乙個**例子)

3.執行完fallthrough後直接跳到下乙個條件語句,本條件執行語句後面的語句不執行

Swift控制轉移語句

在swift語言中,控制轉移語句可以改變 的執行順序,通過它可以實現 的跳轉。在swift中,提供了如下4鐘控制轉移語句。在swift語言中,continue語句告訴乙個迴圈立刻停止本次迴圈,重新開始下次迴圈。就好像在說 本次迴圈已經執行完了 但是並不會離開整個迴圈體。在乙個for條件遞增迴圈體中,...

貓貓學Swift之if邏輯控制 3

貓貓分享,必須精品 語法 if 邏輯判斷 let i 2 if i 1 這裡需要注意幾點 1 swift中的邏輯分支沒有 2 swift中邏輯分支中 不能省略。3 沒有如同非零非空即真的說法,必須是邏輯判斷或者是 true false if else的寫法 不多說,記住注意的幾點 記住就可以。三目運...

swift之訪問控制

1 訪問控制種類 swift3.0以後,訪問控制主要分為五類 open public internal fileprivate private,其中open級別最高,private最低。訪問控制 定義open 可以訪問自己模組中原始檔裡面的任何實體,其他模組也可以通過引入該模組中原始檔訪問所有的實體...