資料介紹
Kotlin語言在Android Studio中應(yīng)用前景廣闊,本文是編者在應(yīng)用開發(fā)中查找資料的總結(jié),內(nèi)容主要來自網(wǎng)絡(luò),讀者可以作為手冊(cè)來查找并復(fù)制有用的內(nèi)容到自己的應(yīng)用當(dāng)中。 Kotlin語言部分講述了Kotlin支持的基本數(shù)據(jù)類型的定義和字節(jié)數(shù),集合類型:List、Map和Set類,可變長(zhǎng)度和不可變長(zhǎng)度集合類型的定義,結(jié)合類型的成員和方法,字符串類型詳解,類的定義,枚舉類、數(shù)據(jù)類和密封類。
Kotlin實(shí)戰(zhàn)(一)
Kotlin 基本數(shù)據(jù)類型、變量、常量。變量定義修飾符兩個(gè): val、var。val表示該變量可以初始化一次,以后不能再賦值。var表示該變量可以隨時(shí)賦值。
一、簡(jiǎn)介
Kotlin 是一個(gè)用于現(xiàn)代多平臺(tái)應(yīng)用的靜態(tài)編程語言,由 JetBrains 開發(fā)。
Kotlin可以編譯成Java字節(jié)碼,也可以編譯成JavaScript,方便在沒有JVM的設(shè)備上運(yùn)行。
Kotlin已正式成為Android官方支持開發(fā)語言(Google IO 2017宣布)。
分享關(guān)于kotlin的幾個(gè)網(wǎng)站
kotlin官方網(wǎng)站:https://kotlinlang.org/
kotlin官方網(wǎng)站(中文翻譯版):https://www.kotlincn.net/
kotlin在線工具網(wǎng)站(可執(zhí)行kotlin代碼):https://try.kotlinlang.org/
二、Kotlin數(shù)據(jù)類型
2.1 kotlin的基本數(shù)值類型
包括Byte,Short,Int,Long,F(xiàn)loat,Double等。與java有差別的是字符不屬于數(shù)值類型,而是一個(gè)獨(dú)立的數(shù)據(jù)類型。其內(nèi)存大小則分別是Byte 8位,Short 16位,Int 32位,Long 64位,F(xiàn)loat 32位,Double 64位,與Java基本沒有差別。
2.2字面常量
下面是所有類型的字面常量:
十進(jìn)制:123
長(zhǎng)整型以大寫的L結(jié)尾:123L
16進(jìn)制以0x開頭:0x0F
2進(jìn)制以0b開頭:0b00001011
***注意:kotlin不支持8進(jìn)制
kotlin同時(shí)也支持傳統(tǒng)符號(hào)表示的浮點(diǎn)數(shù)值:
Double默認(rèn)寫法:123.5,123.5e10
Float使用f或者F后綴:123.5f
可以使用下劃線使數(shù)字常量更易讀:
val oneMillion = 1_000_000
val creditCarNumber = 1234_5678_9012_3456L
val socialSecurityNumber = 999_99_9999L
val hexBytes = 0xFF_EC_DE_5E
val bytes = ob11010000_010100_11100
2.3比較兩個(gè)數(shù)字
kotlin中沒有基礎(chǔ)數(shù)據(jù)類型,只有封裝的數(shù)字類型,你每定義的一個(gè)變量,kotlin幫你封裝了一個(gè)對(duì)象。這樣確保了不會(huì)出現(xiàn)空指針。數(shù)字類型也一樣。所有在比較兩個(gè)數(shù)字的時(shí)候,就有比較數(shù)據(jù)大小和比較兩個(gè)對(duì)象是否相同的區(qū)別了。
* === :表示比較對(duì)象地址。
*==:表示比較兩個(gè)值的大小。
2.4類型轉(zhuǎn)換
由于不同的表示方式,較小類型并不是較大類型的子類型,較小的類型不能隱式的轉(zhuǎn)換為較大的類型。這意味著在不進(jìn)行顯示轉(zhuǎn)換的情況我們不能把byte型值賦給一個(gè)int變量。
val b: Byte = 1 //ok ,字面值是靜態(tài)檢測(cè)的
val i : Int = b //錯(cuò)誤
//正確做法
val i :Int = b.toInt()
由此引出的各種數(shù)據(jù)類型轉(zhuǎn)換方法。
toByte() : Byte
toShort():
toInt():
toLong():
toFloat():
toDouble():
toChar():
但是有些情況下也是可以使用自動(dòng)類型轉(zhuǎn)換的,前提是可以根據(jù)上下文環(huán)境推斷出正確的數(shù)據(jù)類型而且數(shù)學(xué)操作符會(huì)做相應(yīng)的重載。例如:
val 1 = 1L + 3 //Long + Int =》 Long
2.5位操作符
對(duì)于Int和Long類型,還有一系列位操作符可以使用,分別是:
shl(bits) - 左移位(Java 《《)
shr(bits) -右移位(Java 》》)
ushr(bits) -無符號(hào)右移位(Java 》》》)
and(bits) -與
or(bits) -或
xor(bits) -異或
inv() -反向
2.6字符
和Java不同的是,kotlin 中Char不能和數(shù)字操作,Char必須是是單引號(hào)‘包含起來的,比如普通字符’0‘,’a‘。
fun check(c : Char) {
if (c == 1) { //錯(cuò)誤 類型不兼容
}
}
字符字面值用單引號(hào)括起來:’1‘。特殊字符可以用反斜杠轉(zhuǎn)義。
支持以下轉(zhuǎn)義序列:\t,\b,\n,\r,\’,\“,\\和\$。編碼其他字符要用Unicode轉(zhuǎn)義序列語法:”\uFF00“。
當(dāng)需要可空引用時(shí),像數(shù)字,字符會(huì)被裝箱。裝箱操作不會(huì)保留同一性。
2.7布爾
布爾用Boolean類型表示,它有兩個(gè)值:true和false。
若需要可空引用會(huì)被裝箱。
內(nèi)置的布爾運(yùn)算有:
|| -短路邏輯或
&& - 短路邏輯與
! - 短路邏輯非
2.8 數(shù)組
數(shù)組用類Array實(shí)現(xiàn),并且還有一個(gè)size屬性及get和set方法。
由于使用[]重載了get和set方法。所以我們可以通過下標(biāo)很方便的獲取或者設(shè)置數(shù)組對(duì)應(yīng)位置的值。
數(shù)組的創(chuàng)建兩種方式:一種是使用函數(shù)arrayOf();另外一種是使用工廠函數(shù)。如下所示我們分別是兩種方式創(chuàng)建了兩個(gè)數(shù)組:
fun main(args: Array《String》){
val a=arrayOf(1,2,3) //定義數(shù)組{1,2,3}
val b=Array(3,{i-》2*i}) //定義數(shù)組{0,2,4}
println(a[0]) //輸出 1
println(b[0]) //輸出 0
}
注意:[] 運(yùn)算符代表調(diào)用成員函數(shù)get()和set()。
注意:與Java不同的是,kotlin中數(shù)組是不型變的。(invariant)。
除此之外還有 ByteArray,ShortArray,IntArray,用來表示各個(gè)類型的數(shù)組,省去了裝箱操作,因此效率更高,其用法同Array一樣。
2.9字符串
和Java一樣,String是不可變的。方括號(hào)[]語法可以很方便的獲取字符串中的某個(gè)字符,也可以通過for循環(huán)來遍歷:
fun main(args: Array《String》){
val str=”asdfghjkl”
for(c in str){
print(c+”\t”)
}
}
kotlin支持三個(gè)引號(hào)‘’‘ ’‘’括起來的字符串,支持多行字符串比如:
fun main(args:Array《String》){
val str=”””
白日依山近,
黃河入海流。
欲窮千里目,
更上一層樓。
“””
print(str)
}
當(dāng)然也可以通過.trimMargin()刪除多余的空白。
- HK32MCU應(yīng)用筆記(五)| 關(guān)于應(yīng)用HK32F030延時(shí)效率問題 應(yīng)用筆記
- github上的pytorch學(xué)習(xí)資料詳細(xì)說明 6次下載
- Xilinx的時(shí)序設(shè)計(jì)與約束資料詳細(xì)說明 34次下載
- 時(shí)序分析的優(yōu)化策略詳細(xì)說明 17次下載
- 時(shí)序分析的優(yōu)化策略詳細(xì)說明 19次下載
- Python的知識(shí)點(diǎn)總結(jié)詳細(xì)說明 14次下載
- Android的歷史版本詳細(xì)說明 0次下載
- 如何使用Python繪制PDF文件教程詳細(xì)說明 12次下載
- AD20的6層兩片DDR高速板學(xué)習(xí)筆記詳細(xì)說明 0次下載
- 西門子PLC的數(shù)字指令教程詳細(xì)說明 32次下載
- 西門子PLC位指令的教程詳細(xì)說明 24次下載
- Java Script的編碼規(guī)范詳細(xì)說明 7次下載
- 無線路由器密碼破解Beini破解wpa實(shí)戰(zhàn)教程詳細(xì)說明 13次下載
- NET經(jīng)常使用的DbHelperSQL詳細(xì)說明 6次下載
- Matlab圖形繪制經(jīng)典案例詳細(xì)說明 7次下載
- DESAT外圍電路設(shè)計(jì)的應(yīng)用筆記 9160次閱讀
- 由Java改為 Kotlin過程中遇到的坑 680次閱讀
- AN-621: AD9832/AD9835的編程 1227次閱讀
- MAX32570非接觸式PCD應(yīng)用筆記 1002次閱讀
- 重新分配FlexRAM的方法 1528次閱讀
- PIC系列單片機(jī)程序設(shè)計(jì)基礎(chǔ)知識(shí)詳細(xì)說明 4303次閱讀
- C語言和C++的特點(diǎn)與用法詳細(xì)說明 4216次閱讀
- FPGA的入門基礎(chǔ)知識(shí)詳細(xì)說明 9211次閱讀
- 使用AT89S51單片機(jī)制作紅外遙控器的資料和源代碼詳細(xì)說明 5863次閱讀
- 常用穩(wěn)壓二極管的參數(shù)表格詳細(xì)說明 1.3w次閱讀
- 電氣電纜的最全常用手冊(cè)詳細(xì)說明 8632次閱讀
- 硬件工程師必備的113條硬件應(yīng)用筆記 7048次閱讀
- 接收卡升級(jí)的詳細(xì)說明概述圖文詳解 2.3w次閱讀
- 基于AD9854產(chǎn)生MSK調(diào)制信號(hào)詳細(xì)說明 4727次閱讀
- CAD實(shí)用筆記 6496次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多