貓貓學(xué)swift3.1(一)常量_變量_判斷_循環(huán)表達(dá)式

貓貓分享,必須精品

原創(chuàng)文章,歡迎轉(zhuǎn)載。轉(zhuǎn)載請(qǐng)注明:翟乃玉的博客
地址:http://www.itdecent.cn/notebooks/4236923/latest

一:常量、變量

1:什么是常量和變量

  • 在swift中,定義一個(gè)標(biāo)識(shí)符時(shí)候必須明確其是常量還是變量
  • 使用let定義常量,定義后不可以修改
  • 使用var定義變量,定以后可以修改

2:常量和變量的區(qū)別

  • 常量用let定義,定以后不可以修改,變量用var定義,定以后可以修改


    1.png

3:使用的注意事項(xiàng)

  • 在開(kāi)發(fā)時(shí),優(yōu)先使用常量,當(dāng)發(fā)現(xiàn)標(biāo)識(shí)符需要修改時(shí),再改為變量(將let改為var).目的是防止在其他不希望修改的地方不小心將值改掉了.
  • 常量的本質(zhì):指向的內(nèi)存地址不可以修改,但是可以通過(guò)內(nèi)存地址找到對(duì)應(yīng)的對(duì)象,之后修改對(duì)象內(nèi)部的屬性.


    2.png

二:數(shù)據(jù)類型

1:Swift中的數(shù)據(jù)類型

  • 整形
    • 有符號(hào)
      • Int8:有符號(hào)8位整形
      • Int16:有符號(hào)16位整形
      • Int32:有符號(hào)32位整形
      • Int64:有符號(hào)64位整形
      • Int:默認(rèn),相當(dāng)于OC的NSInteger
    • 無(wú)符號(hào)
      • UInt8:無(wú)符號(hào)8位整形
      • UInt16:無(wú)符號(hào)16位整形
      • UInt32:無(wú)符號(hào)32位整形
      • UInt64:無(wú)符號(hào)64位整形
      • UInt:默認(rèn),相當(dāng)于OC的NSUInteger
  • 浮點(diǎn)型
    • Float:32位浮點(diǎn)型
    • Double:64浮點(diǎn)型(默認(rèn))
  • 枚舉使用
    1.如果可以根據(jù)上下文語(yǔ)法退單出該枚舉的類型可以直接用 .具體枚舉
    1. 上下文推斷不出類型,就用 枚舉類型.具體類型


      3.png

2:Swift中的類型推導(dǎo)

  • Swift是強(qiáng)類型語(yǔ)言,Swift中的任意標(biāo)識(shí)符都有明確的類型
  • 如果定義一個(gè)標(biāo)識(shí)符時(shí)有直接進(jìn)行賦值,那么標(biāo)識(shí)符后面的類型可以省略.因?yàn)镾wift有類型推導(dǎo),會(huì)自動(dòng)根據(jù)后面的賦值來(lái)決定前面的標(biāo)識(shí)符的數(shù)據(jù)類型.(可以通過(guò)option鍵+鼠標(biāo)左鍵來(lái)查看標(biāo)識(shí)符的數(shù)據(jù)類型)
//這兩句的效果是一樣的
let btn:UIButton = UIButton()
let btn = UIButton()

3:Swift中的基本運(yùn)算

  • 強(qiáng)制轉(zhuǎn)換 類型(標(biāo)識(shí)符)


    4.png

三:邏輯分支

1:if分支

  • 寫(xiě)法:


    5.png
  • 注意:
    • 判斷句可以不加()
    • 在swift的判斷句中必須有明確的真假(沒(méi)有非0即真,必須有明確的Bool值false/true)

2:guard

  • 介紹

    • guard是swift2.0新增的語(yǔ)法.類似于if,其設(shè)計(jì)目的為提高程序的可讀性
  • 使用

guard 條件表達(dá)式 else {
  //條件語(yǔ)句
break
}
語(yǔ)句組
  • guard語(yǔ)句必須帶有else語(yǔ)句,
    • 當(dāng)條件表達(dá)式為true時(shí)候跳轉(zhuǎn)過(guò)else語(yǔ)句中的內(nèi)容,執(zhí)行語(yǔ)句組中的內(nèi)容.
    • 條件表達(dá)式為false時(shí)候執(zhí)行else語(yǔ)句中的內(nèi)容,跳過(guò)語(yǔ)句一般是return,break,continue,throw


      6.png

3:switch分支

  • switch的基本使用
    • switch()可以省略
    • case結(jié)束可以不加break
    • case后面可以加多個(gè)條件
    • 如果希望case穿透,可以在case結(jié)束時(shí)加fallthrough
    • 可以判斷多裝類型 浮點(diǎn)型,字符串,區(qū)間類型
區(qū)間類型表示1~6區(qū)間有
1..<7
1...6

4:三目運(yùn)算

let a = 5>4 ? 5 : 4

和其他語(yǔ)言沒(méi)啥區(qū)別,要注意的是?前面的空格是必須寫(xiě)的.

四:循環(huán)分支

for循環(huán)

  • 現(xiàn)在只支持區(qū)間for循環(huán)
* 寫(xiě)法
for 下標(biāo) in 區(qū)間 {
  語(yǔ)句塊
}
for i in 0..<10{
    print(i)
}
for _ in 0..<10{
    print("不要下標(biāo)的遍歷")
}
  • 普通for,類似于oc,2.0時(shí)候可以,3.0以后廢除

while和do while 循環(huán)

  • while
    • while的判斷句必須有正確的真假,沒(méi)有非0即真
    • while后面的括號(hào)可以省略
while 判斷句 {
  語(yǔ)句塊
}
  • do while 使用repeat關(guān)鍵字代替了do
    寫(xiě)法
repeat {
  語(yǔ)句塊
} while 判斷句
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容