一淤井、swift中常用的數(shù)據(jù)類(lèi)型
1、int/Float/Double/Bool/Character/String
2摊趾、Array/Dictionary/元組類(lèi)型(Tuple)/可選類(lèi)型(Optional)
二庄吼、如何指定變量常量的數(shù)據(jù)類(lèi)型
1、在常量/變量名后面加上冒號(hào)和類(lèi)型名稱(chēng)
let age:Int = 10
2严就、一般來(lái)說(shuō)沒(méi)有必要明確指定變量/常量的類(lèi)型
如果在聲明常量/或者變量時(shí)賦了初始值总寻、swift可以自動(dòng)推斷出這個(gè)變量/常量的類(lèi)型
3、swift嚴(yán)格要求變量在使用之前必須進(jìn)行初始化,下面的代碼是錯(cuò)誤的
var a:Int
let c = a+10
第一行代碼中梢为,swift并不會(huì)為變量a賦初值渐行,a沒(méi)有初始化
第二行代碼會(huì)報(bào)錯(cuò)
二、整數(shù)
1铸董、分兩種類(lèi)型
有符號(hào)(signed) :正祟印、負(fù)、0
無(wú)符號(hào)(unsigned):正粟害、負(fù)蕴忆、0
2、swift提供了8悲幅、16套鹅、32、64位的有符號(hào)和無(wú)符號(hào)整數(shù)汰具,比如
UInt8:8位無(wú)符號(hào)整型
Int32: 32位有符號(hào)整型
Int8卓鹿、Int16、Int32留荔、Int64吟孙。。聚蝶。杰妓。
3、最值
可以通過(guò)min和max屬性來(lái)獲取某個(gè)類(lèi)型的最大值和最小值
4碘勉、Int和UInt
1)swift還提供了特殊的有符號(hào)整數(shù)類(lèi)型Int和無(wú)符號(hào)整數(shù)類(lèi)型Int
2) Int/Uint的長(zhǎng)度和當(dāng)前系統(tǒng)平臺(tái)一樣
在32位系統(tǒng)平臺(tái)上巷挥,Int和Uint的長(zhǎng)度是32位
在64位系統(tǒng)平臺(tái)上,Int和Uint的長(zhǎng)度是64位
3)建議
定義變量時(shí)恰聘,不要總是考慮有無(wú)符號(hào)句各、數(shù)據(jù)長(zhǎng)度的問(wèn)題
盡量使用Int,這樣可以保證代碼的簡(jiǎn)潔吸占、可復(fù)用性
4)存儲(chǔ)范圍
每種數(shù)據(jù)類(lèi)型都有各自的存儲(chǔ)范圍,比如
int8的存儲(chǔ)范圍是:-128~127
UInt8的存儲(chǔ)范圍是:0~255
如果數(shù)值超過(guò)了存儲(chǔ)范圍凿宾,編譯器會(huì)直接報(bào)錯(cuò)
三矾屯、浮點(diǎn)數(shù)
double: 15位有效數(shù)字
float: 6位有效數(shù)字
沒(méi)有明確的說(shuō)明,浮點(diǎn)數(shù)默認(rèn)就是Double類(lèi)型
四初厚、數(shù)字格式
1件蚕、數(shù)字可以增加額外的格式,使他們更容易閱讀
1)增加額外的零
let money = 001999
2)增加額外的下劃線
let oneMillion = 100_0000
2产禾、增加了額外的零和下劃線排作,并不會(huì)影響原來(lái)數(shù)值的大小
五、類(lèi)型轉(zhuǎn)換
1亚情、兩個(gè)類(lèi)型不相同的數(shù)值妄痪,是不能直接記性運(yùn)算的
let num1 = 3
let num2 = 0.14
let sum = num1 + num2
第三行會(huì)報(bào)錯(cuò)
2、類(lèi)型轉(zhuǎn)換格式
要變成的數(shù)據(jù)類(lèi)型(要轉(zhuǎn)換變量)
PS:下面的寫(xiě)法是正確的
let sum = 3 + 0.14
六楞件、swift的兩種特有運(yùn)算符
1衫生、范圍運(yùn)算符
范圍運(yùn)算符用來(lái)表示一個(gè)范圍,有2種類(lèi)型的范圍運(yùn)算符
閉合范圍運(yùn)算符:a...b,表示[a,b],包含a和b
半閉合運(yùn)算符:a..<b,表示[a,b)土浸,包含a罪针,不包含b
可以用在for循環(huán)中
var age = 3
for i in 0...age{
print(i)
}
2、溢出運(yùn)算符
var num = UInt8.max
var a = num &+ 1
七黄伊、Bool類(lèi)型
1泪酱、在OC中,0是假还最,非0就是真墓阀,而在swift中移除了這種概念
2、if語(yǔ)句的條件必須是Bool類(lèi)型的值憋活,true或false
3岂津、比較運(yùn)算符/邏輯運(yùn)算符會(huì)返回Bool類(lèi)型的值
4、三目運(yùn)算符的條件必須是Bool類(lèi)型的值
八悦即、元組類(lèi)型
1、元組類(lèi)型由N個(gè)任意類(lèi)型的數(shù)據(jù)組成(N>=0)
組成元組類(lèi)型的數(shù)據(jù)可以稱(chēng)為元素
let position = (x:10.5,y:20)
position有兩個(gè)元素橱乱,x,y是元素的名稱(chēng)
let person = (name:"jack")
person只有一個(gè)name元素
2辜梳、元組元素的訪問(wèn)
var person = (x:20,y:20)
取值
person.x
person.y
person.0
person.1
賦值
person.x = 30
3、注意
如果用let來(lái)定義一個(gè)元組泳叠,那么就是常量作瞄,就無(wú)法修改他的元素