您好,登錄后才能下訂單哦!
Kotlin 基礎語法實例詳解
包
定義和引入Java一樣,在文件開頭, 行結束不需要” ; “
package com.test.hello import android.os.Bundle
變量
只讀變量,val 開頭,初始化后不能再賦值,相當于Java的 final 變量
val a: Int = 1 val b = 1 //類型自動推斷為Int val c: Int //沒有初始化時必須指定類型 c = 1 //初始化
可變變量, var 關鍵字開頭
var x = 10 x = 3
函數
函數定義 fun 開頭, 完整的定義如下:
fun sum(a: Int, b: Int): Int { return a + b }
可以簡化成表達式,返回值自動推斷
fun sum(a: Int, b: Int) = a + b
函數沒有返回值時,可以不寫或者返回 Unit
fun test(arg: String) { println(arg) }
或者
fun test(arg: String): Unit { println(arg) }
注釋
和Java一樣,支持行注釋 " // " 和 塊注釋 "/ /"。
不同之處,Kotlin支持塊注釋嵌套,建議不用。
if else
使用條件語句, 和Java一樣
fun min(a: Int, b: Int): Int { if (a > b) { return b } else { return a } }
Kotlin支持if 表達式,以上代碼可以寫成: fun min(a: Int, b: Int) = if (a > b) b else a
for fun main(args: Array<String>) { for (arg in args) { println(arg) } }
或者
for (i in args.indices) { println(args[i]) }
while
和Java類似
fun main(args: Array<String>) { var i = 0 while (i < args.size) { println(args[i++]) } }
when
when,支持豐富的功能, 比Java的 switch 自由
fun case(a: Int) { when (a) { 1 -> println("1") 2 -> println("2") else -> println("else") } }
范圍, 集合
使用 in 檢查一個數值是否在某個范圍之內
if (x in 1..10) { // do }
檢查一個數值是否在某個范圍之外
if (x !in 0..10) { // }
在一個值范圍內進行遍歷迭代
for (x in 0..10) { // }
使用 in 檢查一個集合是否包含某個對象
if (name in names) { //names.contains() // }
在一個集合上進行遍歷迭代
for (name in names) { println(name) }
null檢查
當一個引用可能為 null 值時, 對應的類型聲明必須明確地標記為可為 null。
fun parseInt(str: String): Int? { // todo } fun main(args: Array<String>) { var name: String? val x = parseInt(args[0]) if (x != null) { // check null // todo } }
is 類型
is 檢查一個表達式的值是不是某個類型的實例, 如果對一個不可變的局部變量或屬性進行過類型檢查, 那么之后的代碼就不必再對它進行顯式地類型轉換。
fun getStringLength(obj: Any): Int? { if (obj is String && obj.length > 0) { return obj.length // obj as String after is } return null }
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。