資料介紹
Kotlin語言在Android Studio中應用前景廣闊,本文是編者在應用開發中查找資料的總結,內容主要來自網絡,讀者可以作為手冊來查找并復制有用的內容到自己的應用當中。 Kotlin語言部分講述了Kotlin支持的基本數據類型的定義和字節數,集合類型:List、Map和Set類,可變長度和不可變長度集合類型的定義,結合類型的成員和方法,字符串類型詳解,類的定義,枚舉類、數據類和密封類。
Kotlin實戰(一)
Kotlin 基本數據類型、變量、常量。變量定義修飾符兩個: val、var。val表示該變量可以初始化一次,以后不能再賦值。var表示該變量可以隨時賦值。
一、簡介
Kotlin 是一個用于現代多平臺應用的靜態編程語言,由 JetBrains 開發。
Kotlin可以編譯成Java字節碼,也可以編譯成JavaScript,方便在沒有JVM的設備上運行。
Kotlin已正式成為Android官方支持開發語言(Google IO 2017宣布)。
分享關于kotlin的幾個網站
kotlin官方網站:https://kotlinlang.org/
kotlin官方網站(中文翻譯版):https://www.kotlincn.net/
kotlin在線工具網站(可執行kotlin代碼):https://try.kotlinlang.org/
二、Kotlin數據類型
2.1 kotlin的基本數值類型
包括Byte,Short,Int,Long,Float,Double等。與java有差別的是字符不屬于數值類型,而是一個獨立的數據類型。其內存大小則分別是Byte 8位,Short 16位,Int 32位,Long 64位,Float 32位,Double 64位,與Java基本沒有差別。
2.2字面常量
下面是所有類型的字面常量:
十進制:123
長整型以大寫的L結尾:123L
16進制以0x開頭:0x0F
2進制以0b開頭:0b00001011
***注意:kotlin不支持8進制
kotlin同時也支持傳統符號表示的浮點數值:
Double默認寫法:123.5,123.5e10
Float使用f或者F后綴:123.5f
可以使用下劃線使數字常量更易讀:
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比較兩個數字
kotlin中沒有基礎數據類型,只有封裝的數字類型,你每定義的一個變量,kotlin幫你封裝了一個對象。這樣確保了不會出現空指針。數字類型也一樣。所有在比較兩個數字的時候,就有比較數據大小和比較兩個對象是否相同的區別了。
* === :表示比較對象地址。
*==:表示比較兩個值的大小。
2.4類型轉換
由于不同的表示方式,較小類型并不是較大類型的子類型,較小的類型不能隱式的轉換為較大的類型。這意味著在不進行顯示轉換的情況我們不能把byte型值賦給一個int變量。
val b: Byte = 1 //ok ,字面值是靜態檢測的
val i : Int = b //錯誤
//正確做法
val i :Int = b.toInt()
由此引出的各種數據類型轉換方法。
toByte() : Byte
toShort():
toInt():
toLong():
toFloat():
toDouble():
toChar():
但是有些情況下也是可以使用自動類型轉換的,前提是可以根據上下文環境推斷出正確的數據類型而且數學操作符會做相應的重載。例如:
val 1 = 1L + 3 //Long + Int =》 Long
2.5位操作符
對于Int和Long類型,還有一系列位操作符可以使用,分別是:
shl(bits) - 左移位(Java 《《)
shr(bits) -右移位(Java 》》)
ushr(bits) -無符號右移位(Java 》》》)
and(bits) -與
or(bits) -或
xor(bits) -異或
inv() -反向
2.6字符
和Java不同的是,kotlin 中Char不能和數字操作,Char必須是是單引號‘包含起來的,比如普通字符’0‘,’a‘。
fun check(c : Char) {
if (c == 1) { //錯誤 類型不兼容
}
}
字符字面值用單引號括起來:’1‘。特殊字符可以用反斜杠轉義。
支持以下轉義序列:\t,\b,\n,\r,\’,\“,\\和\$。編碼其他字符要用Unicode轉義序列語法:”\uFF00“。
當需要可空引用時,像數字,字符會被裝箱。裝箱操作不會保留同一性。
2.7布爾
布爾用Boolean類型表示,它有兩個值:true和false。
若需要可空引用會被裝箱。
內置的布爾運算有:
|| -短路邏輯或
&& - 短路邏輯與
! - 短路邏輯非
2.8 數組
數組用類Array實現,并且還有一個size屬性及get和set方法。
由于使用[]重載了get和set方法。所以我們可以通過下標很方便的獲取或者設置數組對應位置的值。
數組的創建兩種方式:一種是使用函數arrayOf();另外一種是使用工廠函數。如下所示我們分別是兩種方式創建了兩個數組:
fun main(args: Array《String》){
val a=arrayOf(1,2,3) //定義數組{1,2,3}
val b=Array(3,{i-》2*i}) //定義數組{0,2,4}
println(a[0]) //輸出 1
println(b[0]) //輸出 0
}
注意:[] 運算符代表調用成員函數get()和set()。
注意:與Java不同的是,kotlin中數組是不型變的。(invariant)。
除此之外還有 ByteArray,ShortArray,IntArray,用來表示各個類型的數組,省去了裝箱操作,因此效率更高,其用法同Array一樣。
2.9字符串
和Java一樣,String是不可變的。方括號[]語法可以很方便的獲取字符串中的某個字符,也可以通過for循環來遍歷:
fun main(args: Array《String》){
val str=”asdfghjkl”
for(c in str){
print(c+”\t”)
}
}
kotlin支持三個引號‘’‘ ’‘’括起來的字符串,支持多行字符串比如:
fun main(args:Array《String》){
val str=”””
白日依山近,
黃河入海流。
欲窮千里目,
更上一層樓。
“””
print(str)
}
當然也可以通過.trimMargin()刪除多余的空白。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
- HK32MCU应用笔记(五)| 关于应用HK32F030延时效率问题 应用笔记7次下载
- Xilinx的时序设计与约束资料详细说明34次下载
- 时序分析的优化策略详细说明17次下载
- 时序分析的优化策略详细说明19次下载
- Python的知识点总结详细说明14次下载
- Android的历史版本详细说明0次下载
- 如何使用Python绘制PDF文件教程详细说明12次下载
- 放大器的应用笔记详细说明2次下载
- AD20的6层两片DDR高速板学习笔记详细说明0次下载
- 西门子PLC的数字指令教程详细说明33次下载
- 西门子PLC位指令的教程详细说明25次下载
- 无线路由器密码破解Beini破解wpa实战教程详细说明13次下载
- 使用Cmake配置opencv的教程详细说明4次下载
- NET经常使用的DbHelperSQL详细说明6次下载
- Matlab图形绘制经典案例详细说明7次下载
- 了解ISL28022的电流和功率计算应用笔记281次阅读
- DESAT外围电路设计的应用笔记12607次阅读
- 由Java改为 Kotlin过程中遇到的坑999次阅读
- AN-621: AD9832/AD9835的编程1918次阅读
- MAX32570非接触式PCD应用笔记1462次阅读
- PIC系列单片机程序设计基础知识详细说明4834次阅读
- C语言和C++的特点与用法详细说明4611次阅读
- FPGA的入门基础知识详细说明9812次阅读
- 使用AT89S51单片机制作红外遥控器的资料和源代码详细说明6440次阅读
- 常用稳压二极管的参数表格详细说明15810次阅读
- 电气电缆的最全常用手册详细说明9187次阅读
- 硬件工程师必备的113条硬件应用笔记7462次阅读
- 接收卡升级的详细说明概述图文详解25311次阅读
- 基于AD9854产生MSK调制信号详细说明5132次阅读
- CAD实用笔记6816次阅读
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論