kotlin基本用法

2021-09-21 07:41:25 字數 3771 閱讀 1168

指定返回值

fun sum(a: int, b: int): int
將表示式作為函式體、返回值型別自動推斷的函式:

fun sum(a: int, b: int) = a + b
函式返回無意義的值:

fun printsum(a: int, b: int) ")

}

val a: int = 1 // 立即賦值

val b = 2 // 自動推斷出int型別

val c: int // 如果沒有初始值型別不能省略

c = 3 // 明確賦值

var a = 1

// 模板中的簡單名稱:

val s1 = 「a is $a」

a = 2

// 模板中的任意表示式:

val s2 = 「$, but now is $a」

a was 1, but now is 2

//samplestart

fun maxof(a: int, b: int): int else

}//sampleend

fun main(args: array) ")

}使用 if 作為表示式:

//samplestart

fun maxof(a: int, b: int) = if (a > b) a else b

//sampleend

fun main(args: array) ")

}

當某個變數的值可以為 null 的時候,必須在宣告處的型別後新增 ? 來標識該引用可為空。

使用返回可空值的函式:

fun parseint(str: string): int? 

//samplestart

fun printproduct(arg1: string, arg2: string)

else

}//sampleend

fun main(args: array)

或者fun parseint(str: string): int?

fun printproduct(arg1: string, arg2: string)

if (y == null)

// 在空檢測後,x 和 y 會自動轉換為非空值

println(x * y)

//sampleend

}fun main(args: array)

is 運算子檢測乙個表示式是否某型別的乙個例項。 如果乙個不可變的區域性變數或屬性已經判斷出為某型別,那麼檢測後的分支中可以直接當作該型別使用,無需顯式轉換:

//samplestart

fun getstringlength(obj: any): int?

// 在離開型別檢測分支後,`obj` 仍然是 `any` 型別

return null

}//sampleend

fun main(args: array) ")

}printlength("incomprehensibilities")

printlength(1000)

printlength(listof(any()))}或者

//samplestart

fun getstringlength(obj: any): int?

//sampleend

fun main(args: array) ")

}printlength("incomprehensibilities")

printlength(1000)

printlength(listof(any()))}甚至

//samplestart

fun getstringlength(obj: any): int?

return null

}//sampleend

fun main(args: array) ")

}printlength("incomprehensibilities")

printlength("")

printlength(1000)

}

fun main(args: array) 

//sampleend}或者

fun main(args: array) ")

}//sampleend

}

fun main(args: array) ")

index++

}//sampleend

}

//samplestart

fun describe(obj: any): string =

when (obj)

//sampleend

fun main(args: array)

使用 in 運算子來檢測某個數字是否在指定區間內:

fun main(args: array) 

//sampleend

}

檢測某個數字是否在指定區間外:

fun main(args: array) 

if (list.size !in list.indices)

//sampleend

}區間迭代:

fun main(args: array)

//sampleend

}或數列迭代:

fun main(args: array)

for (x in 9 downto 0 step 3)

//sampleend

}

對集合進行迭代:

fun main(args: array) 

//sampleend

}使用 in 運算子來判斷集合內是否包含某例項:

fun main(args: array)

//sampleend

}使用 lambda 表示式來過濾(filter)和對映(map)集合:

fun main(args: array)

.sortedby

.map

.foreach

//sampleend

}

fun main(args: array) , its perimeter is $")

println("area of ******** is $, its perimeter is $")

}abstract class shape(val sides: list)

inte***ce rectangleproperties

class rectangle(

var height: double,

var length: double

) : shape(listof(height, length, height, length)), rectangleproperties

class ********(

var sidea: double,

var sideb: double,

var sidec: double

) : shape(listof(sidea, sideb, sidec))

}

kotlin基本用法

定義單個變數 an highlighted block val 變數名 變數型別 null 允許為空,val 不可變,只能付一次值 var 變數名 變數型別 null 允許為空,var 可變,可以多次賦值 var str string null var str string 定義集合 an high...

kotlin基本語法

定義函式開始 帶有兩個int引數 返回int的函式 fun sum a int,b int int 將表示式作為函式體 返回值型別自動推斷的函式 fun sum2 a int,b int a b 函式返回無意義的值 fun printsum a int,b int unit unit返回型別可以省略...

Kotlin基本語法

包的定義與導人 package my.demo import kotlin.text.程式入口點 fun main 函式 帶有兩個 int 引數 返回 int 的函式 fun sum a int,b int int fun main 將表示式作為函式體 返回值型別自動推斷的函式 fun sum a ...