命名規(guī)范
學(xué)習(xí)基礎(chǔ)之前首先聲明下命名規(guī)范裙椭,這樣有利于別人閱讀你的代碼咽白。
1.使用駝峰法命名(并避免命名含有下劃線)
2.類名以大寫字母開頭
3.方法和屬性以小寫字母開頭
4.使用 4 個(gè)空格縮進(jìn)
基本類型
我們回顧下Java的基本類型并與之做個(gè)對(duì)比重挑,java中有基本數(shù)據(jù)類型和引用類型李命,在kotlin中所有的東西都可以看成對(duì)象鲤竹,可以理解為java中的引用類型,這就意味著在kotlin中的基本類型是可以調(diào)用函數(shù)和屬性的煌集。下面具體理解一下kotlin中的基本類型:數(shù)字妓肢,字符,布爾苫纤,數(shù)組
數(shù)字
首先聲明一點(diǎn)碉钠,在kotlin中是不會(huì)像java一樣有自動(dòng)類型轉(zhuǎn)換的纲缓。主要類型有:
Double ? ?64bit
Float? ? ? ? 32bit
Long? ? ? ? 64bit
Int? ? ? ? ? ? 32bit
Short? ? ? ? 16bit
Byte? ? ? ? ? 8bit
回憶類名以大寫字母開頭,這里的數(shù)字類型都是以對(duì)象的形式存在的喊废。既然不能自動(dòng)轉(zhuǎn)換祝高,那在kotlin中是如何轉(zhuǎn)換呢?下面舉例:
例1: 整型值轉(zhuǎn)Double
val i: Int = 7
val d: Double = i.toDouble()
例2:字符轉(zhuǎn)Int
val i: Char='b'
val d: Int= i.toInt()
在聲明數(shù)字類型的時(shí)候用法跟java差不多污筷,比如Long 類型用大寫L標(biāo)記:123L工闺,F(xiàn)loat 用f或者F標(biāo)記:123.5f?
在實(shí)際聲明數(shù)字變量中是可以不聲明類型的,這點(diǎn)編譯器會(huì)自己去推斷出具體的類型瓣蛀,如下:
val i = 2 //Int 類型
val b = 3L // Long
val c = 5.2 // Double
字符
字符字面值用單引號(hào)括起來:'1'陆蟆。 特殊字符可以用反斜杠轉(zhuǎn)義。 支持這幾個(gè)轉(zhuǎn)義序列:\t揪惦、\b遍搞、\n罗侯、\r器腋、\'、\"钩杰、\\和\$纫塌。 編碼其他字符要用 Unicode 轉(zhuǎn)義序列語法:'\uFF00'。
例如:
val a = '1'
val b = 2.toChar()
布爾
布爾用Boolean類型表示讲弄,和java一樣有兩個(gè)值:true和false措左。
同樣可以 用 && ?、||避除、 ! ?運(yùn)算怎披。
數(shù)組
數(shù)組在 Kotlin 中使用Array類來表示,它定義了get和set函數(shù)(按照運(yùn)算符重載約定這會(huì)轉(zhuǎn)變?yōu)閇])和size屬性瓶摆,可以使用庫函數(shù)arrayOf()來創(chuàng)建一個(gè)數(shù)組并傳遞元素值給它凉逛,這樣arrayOf(1, 2, 3)創(chuàng)建了 array [1, 2, 3]。 或者群井,庫函數(shù)arrayOfNulls()可以用于創(chuàng)建一個(gè)指定大小状飞、元素都為空的數(shù)組。
例如:
val a = arrayOf("Hello","world")
var nullArray: Array<String?>?= arrayOfNulls(2) // a = [null, null]
val ?squares = Array?( 10 , { i -> (i+1)*(i+1) } )// squares = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
看到第三個(gè)表達(dá)式有點(diǎn)蒙圈了书斜,Lambda 也不會(huì)呀诬辈,仔細(xì)比對(duì)了一下,10是數(shù)組大小荐吉,i是數(shù)組索引值:
當(dāng)?shù)扔?時(shí)焙糟,1*1=1
等于1時(shí) 2*2=4 ?
等于2時(shí) 3*3=9
明白了吧= =,還有kotlin的函數(shù) 是可以傳函數(shù)作為參數(shù)的样屠,簡(jiǎn)稱高階函數(shù)穿撮,前面說了kotlin中任何東西都可以看作是對(duì)象搓劫,傳個(gè)函數(shù)又有啥奇怪的= =,以后再細(xì)說高階函數(shù)混巧,保證你用了之后就再也不想用java了
Kotlin 也有無裝箱開銷的專門的類來表示原生類型數(shù)組:ByteArray枪向、ShortArray、IntArray等等咧党。這些類和Array并沒有繼承關(guān)系震叮,但是它們有同樣的方法屬性集。它們也都有相應(yīng)的工廠方法:
val ?x : ?IntArray = intArrayOf(1,2,3)
x[0] = x[1] + x[2]
更有趣的是舵稠,字符串可以直接像數(shù)組一樣訪問:
val str = 'abcdefg'
val s = str[2] // 結(jié)果等于 'c'
//還可以直接遍歷
for ( a in str) {
? ? ? ? print(a)?
}
總結(jié)
本次學(xué)習(xí)的是kotlin中的基本類型区匠,和一些常見的用法,內(nèi)容簡(jiǎn)陋似蒼蠅肉蛙埂,想要學(xué)更多推薦官網(wǎng)學(xué)習(xí):官網(wǎng)地址 進(jìn)入下一章節(jié)