一 變量和常量的作用
變量和常量的作用是用來存儲(chǔ)數(shù)據(jù)的,去內(nèi)存空間中開辟內(nèi)存空間存儲(chǔ)數(shù)據(jù)
let a=10 ?var b=10 ?b=20
問題?:通過聲明常量或變量去開辟內(nèi)存空間的時(shí)候,怎么去限制每次申請(qǐng)內(nèi)存空間的大小
答案:使用數(shù)據(jù)類型去限制
二.基本數(shù)據(jù)類型
整型.浮點(diǎn)型.布爾型(專門用來表示肯定可否定).元組.字符串.
不同的類型有固定的大小(內(nèi)存大小)
swift 有類型推導(dǎo)的功能:根據(jù)你給的值來確定數(shù)據(jù)類型
1.Int:整型 ?
let a1 = 10 ==> let a1:Int = 10
2.Double:浮點(diǎn)型
let a2 = 12.5
3.Bool型
var a3=true
*一旦變量或常量的類型確定了就不能改變了
4.Sting
var str1 = "hello world"
5.元組
var a4 ?= ?(10,"aa",12.5)
3.顯示的指定變量或常量類型
在實(shí)際開發(fā)中,除了特殊情況,變量和常量一般由swift自己推導(dǎo)
let a6: Int=20
var a7: String
*************************整型*******************************
Int(和硬件系統(tǒng)有關(guān)如果硬件是32位機(jī)那么類型的大小32位/如果是64位64位)既可以存儲(chǔ)正數(shù) 又可以存儲(chǔ)負(fù)數(shù)(需要一位專們來存儲(chǔ)符號(hào)位)
1位:0/1
2位:00/01/10/11
3位:000/001/010/011/100/101/111
類型確定后,在變量中存儲(chǔ)的數(shù)據(jù)不能超過其能存儲(chǔ)的最大值和最小值
let a5 = 9223372036854775807+1? ? ? //error
2^63-1
Int.max == 9223372036854775807
Int.min == -9223372036854775808
8位整型
2^7
Int8.min == -128
2^7-1
Int8.max == 127
16位整型
Int16.max == 32767
Int16.min == -32768
let aaa:Int16 == 32767
位->字節(jié)(kb)->兆->G->t(換算大小是1024)
無符號(hào)整型:不能用來存儲(chǔ)負(fù)整數(shù)的整型
//0
UInt.min == 0
2^64-1
UInt.max == 18446744073709551615
2^8-1
UInt8.max == 255
UInt8.min ?== 0
整數(shù)的表示方式
直接賦值法:直接使用自然數(shù)賦值(十進(jìn)制)
let int1 = 100
let int2 = 0b1000001 //(二進(jìn)制0b+二進(jìn)制數(shù))
let int3 = 0o7654321 //(八進(jìn)制 0o+八進(jìn)制數(shù))
let int4 =? 0xabcdef109//(十六進(jìn)制 0x+十六進(jìn)制數(shù))
大數(shù)據(jù)的表示
let int5 = 10_000_000_000
let int6 = 0b1111011
進(jìn)制轉(zhuǎn)換? 10轉(zhuǎn)8 8轉(zhuǎn)2? 16轉(zhuǎn)2 10轉(zhuǎn)16 16轉(zhuǎn)8
************浮點(diǎn)型***********
保存數(shù)據(jù)精度不一樣(小數(shù)點(diǎn)位數(shù))
1.double(雙精度),64位
let? dog=12.42423432432423424
2.float(單精度),32位
let cat:Float=13.014326324324232342352524325235325l
let max=1.2e10