Swift-基本語法(上)

一、基本認識

  • Swift中如何導入框架
import UIKit
  • 定義標識符:
    let/var 標識符的名稱 : 標識符的數(shù)據(jù)類型 = 值
let a : Int = 20
var b : Double = 1.44

數(shù)據(jù)類型首字母大寫:Int榨了、Double

  • 語句結束:
    如果一行中只有一條語句斤寂,那么該語句結束后硬鞍,可以不加力细;典蝌,可以省略泻云,如果一行有多條語句那么需要艇拍;分隔
  • 打印語句:
print(打印的內容)

二、常量與變量

  • 在Swift中規(guī)定:在定義一個標識符時必須說明該標識符是一個常量還是變量
  • 用let來定義常量宠纯,定義之后不可修改
  • 用var來定義變量卸夕,定義之后可以修改
  • 示例:
let a : Int = 10
var b: Int = 20
  • 優(yōu)先使用常量
  • 對象常量的本質:保存的內存地址不可修改,可以取出對象對其屬性進行設置

三婆瓜、數(shù)據(jù)類型

1.整型
Int和平臺相關快集,用得最多
2.浮點型

  • Float:32位浮點型
  • Double:64位浮點型(默認)

3.類型推導

  • 如果定義一個標識符時直接進行賦值贡羔,那么標識符后面的類型可以省略
  • 因為Swift有類型推導,會自動根據(jù)后面的賦值來決定前面的標識符的數(shù)據(jù)類型
  • 可以通過 option + 鼠標左鍵 來查看變量的數(shù)據(jù)類型
var i = 20//i為整形
i = 1.1 //會報錯个初,不同數(shù)據(jù)類型不能直接賦值乖寒,需要強轉類型

四、基本運算

1.Swift中在進行基本運算時必須保證類型一致院溺,否則會報錯

  • 相同類型之間才可以進行運算
  • 因為Swift中沒有隱式轉換
    2.數(shù)據(jù)類型的轉化
  • Int類型轉成Double類型:Double(標識符)
  • Double類型轉成Int類型:Int(標識符)
let a = 10
let b = 3.14
//錯誤寫法
let c = a + b
let c = a * b
//正確寫法
let c = Double(a) + b
let d = c + Int(b)

五楣嘁、邏輯分支

1.分支的介紹

  • 分支即if/switch/三目運算符等判斷句
  • 通過分支語句可以控制程序的執(zhí)行流程

2.if分支語句

  • 判斷句可以不加()
  • 在判斷句中必須有明確的真假
    1.不再有非0/nil即真
    2.必須有明確的Bool值
    3.Bool有兩個取值:false/true
let a = 0
if a > 0 {
print("a大于0")
} else {
print("a小于等于0")
}
let score = 92
if score < 0 || score > 100 {
print("不合理的分數(shù)")
} else if score < 60 {
print(不及格")
} else if score < 80 {
print("及格")
} else if score < 90 {
print("良好")
}else if score <= 100 {
print("不錯喔")
}
  • switch中用法和if一致

3.三目運算符

let m = 20
let n = 30
let result = m > n ? m : n

4.guard的使用

  • guard時Swift2.0新增的方法

  • 它與if語句非常相似,它設計的目的是提高程序的可讀性

  • guard語句必須帶有else語句珍逸,它的語法如下:
    1.當條件表達式為true時候跳過else語句中的內容逐虚,執(zhí)行語句組內容
    2.條件表達式為false的時候執(zhí)行else語句中的內容,跳轉語句一般是 return谆膳、break叭爱、continue和throw

  • guard 必須在函數(shù)中使用

guard 條件表達式 else {
  //條件語句
  break
  }
  語句組
let age = 20
func online(age : Int) {
    //1.判斷年齡
    guard age >= 18 else {
        print("回家找媽媽")
        return
    }
    //2.判斷是否帶了身份證
    guard 帶了身份證 else {
    print("回家拿身份證")
    return
    }
    //3.判斷是否帶了錢
    guard 帶了錢 else {
    print("回家拿錢")
    return
    }
    print("留下來")
    print("帶了錢")
    print("開機上網")
}
online(age)

5.switch用法
1.基本用法和OC一致
2.不同之處

  • switch后可以不跟()
  • case后可以不跟break(默認會有break)
  • 基本用法
    //0 : 男 1 : 女
let sex = 0
switch sex {
    case 0:
    print("男")
    fallthrough//穿透
    case 1:
    print("女")
    default:
    print("其他")
}
  • 基本用法的補充
    1.如果系統(tǒng)某一個case中產生的case穿透,可以在case結束后跟上fallthrough
    2.case后面可以判斷多個條件漱病,多個條件以,分割
let sex = 0
switch sex {
    case 0, 1:
    print("正常人")
   default:
   print("其他")
}
  • Swift中的switch的特殊用法
    1.可以判斷浮點型
    switch a {
    case 3.14:
    print("π")
    default:
    print("非π"")
    }
    2.可以判斷字符串
let m = 20
let n = 30
let operation = "+"
var result = 0
switch operation {
    case "+":
    result = m + n
    case "-":
    result = m - n
    case "*":
    result = m * n
    case "/":
    result = m / n
    defualt:
    print("非法操作")
}

3.可以判斷區(qū)間
開區(qū)間:0..<10表示0-9买雾,不包括10
閉區(qū)間:0...10表示0-10

let score = 88
switch score {
    case 0..<60:
    print("不及格")
    case 60..<80:
    print("及格")
    case 80..<90
    print("良好")
    case 90...100
    print("優(yōu)秀")
    default:
    print("不合理的分數(shù)")
}

六、循環(huán)

1.for循環(huán)

  • 循環(huán)的基本寫法缨称,后面的()可以省略
for var i = 0; i < 10; i++ {
    print(i)
}
  • for循環(huán)的forin寫法
for i in 0..<10 {
    print(i)
}
  • for循環(huán)的forin特殊寫法
//在Swift中如果一個標識符不需要使用凝果,可以用_來代替
for _ in 0...9 {
    print("hello world")
}

2.while循環(huán)

  • while后面的()可以省略
  • while后面的判斷沒有非0即真
    var a = 0
    whiel a > 0 {
    print(a)
    a -= 1
    }
  • Swift中的dowhile循環(huán)需要寫成repeat while
    repeat {
    a += 1
    } while a < 10
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末祝迂,一起剝皮案震驚了整個濱河市睦尽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌型雳,老刑警劉巖当凡,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異纠俭,居然都是意外死亡沿量,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進店門冤荆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來朴则,“玉大人,你說我怎么就攤上這事钓简∥诙剩” “怎么了?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵外邓,是天一觀的道長撤蚊。 經常有香客問我,道長损话,這世上最難降的妖魔是什么侦啸? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任槽唾,我火速辦了婚禮,結果婚禮上光涂,老公的妹妹穿的比我還像新娘庞萍。我一直安慰自己,他們只是感情好顶捷,可當我...
    茶點故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布挂绰。 她就那樣靜靜地躺著,像睡著了一般服赎。 火紅的嫁衣襯著肌膚如雪葵蒂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天重虑,我揣著相機與錄音践付,去河邊找鬼。 笑死缺厉,一個胖子當著我的面吹牛永高,可吹牛的內容都是我干的。 我是一名探鬼主播提针,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼命爬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了辐脖?” 一聲冷哼從身側響起饲宛,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嗜价,沒想到半個月后艇抠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡久锥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年家淤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瑟由。...
    茶點故事閱讀 40,742評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡絮重,死狀恐怖,靈堂內的尸體忽然破棺而出歹苦,到底是詐尸還是另有隱情青伤,我是刑警寧澤,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布暂氯,位于F島的核電站潮模,受9級特大地震影響,放射性物質發(fā)生泄漏痴施。R本人自食惡果不足惜擎厢,卻給世界環(huán)境...
    茶點故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一究流、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧动遭,春花似錦芬探、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至宵蕉,卻和暖如春酝静,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背羡玛。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工别智, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人稼稿。 一個月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓薄榛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親让歼。 傳聞我的和親對象是個殘疾皇子敞恋,可洞房花燭夜當晚...
    茶點故事閱讀 45,747評論 2 361

推薦閱讀更多精彩內容