您好,登錄后才能下訂單哦!
1,定義函數
fun?函數名(參數名:類型,參數名:類型,...):返回類型{ ????...... }
比如
fun?sum(a:?Int,?b:?Int):?Int?{ ????return?a?+?b }
如果不需要返回值,則可以
fun?printSum(a:?Int,?b:?Int)?{ ????println("sum?of?$a?and?$b?is?${a?+?b}") }
2,定義變量
如果是只讀變量,用val聲明,如果是可修改的變量,用var聲明
val?a:?Int?=?1?? val?b?=?2???//?自動推斷類型`Int`? val?c:?Int??//?如果沒有初始值,則需要提供類型 c?=?3???????//?稍后賦值 var?x?=?5?//?自動推斷類型`Int` x?+=?1
3,字符串模板
var?a?=?1 //?simple?name?in?template: val?s1?=?"a?is?$a"? a?=?2 //?arbitrary?expression?in?template: val?s2?=?"${s1.replace("is",?"was")},?but?now?is?$a"
4,if表達式
fun?maxOf(a:?Int,?b:?Int)?=?if?(a?>?b)?a?else?b
5,對于可能為null的值,必須判斷
fun?parseInt(str:?String):?Int??{ ????//?如果不是int,就返回null } fun?printProduct(arg1:?String,?arg2:?String)?{ ????val?x?=?parseInt(arg1) ????val?y?=?parseInt(arg2) ????//?Using?`x?*?y`?yields?error?because?they?may?hold?nulls. ????if?(x?!=?null?&&?y?!=?null)?{ ????????//?x?and?y?are?automatically?cast?to?non-nullable?after?null?check ????????println(x?*?y) ????} ????else?{ ????????println("either?'$arg1'?or?'$arg2'?is?not?a?number") ????}???? }
6, 用is 關鍵字判斷對象類型,相當于java的instanceOf
fun?getStringLength(obj:?Any):?Int??{ ????if?(obj?!is?String)?return?null ????//?`obj`?is?automatically?cast?to?`String`?in?this?branch ????return?obj.length }
7, list遍歷
val?items?=?listOf("apple",?"banana",?"kiwifruit") for?(item?in?items)?{ ????println(item) } val?items?=?listOf("apple",?"banana",?"kiwifruit") var?index?=?0 while?(index?<?items.size)?{ ????println("item?at?$index?is?${items[index]}") ????index++ }
fun?describe(obj:?Any):?String?= ????when?(obj)?{ ????????1??????????->?"One" ????????"Hello"????->?"Greeting" ????????is?Long????->?"Long" ????????!is?String?->?"Not?a?string" ????????else???????->?"Unknown" ????}
8, 范圍
val?x?=?10 val?y?=?9 if?(x?in?1..y+1)?{ ????println("fits?in?range") } val?list?=?listOf("a",?"b",?"c") if?(-1?!in?0..list.lastIndex)?{ ????println("-1?is?out?of?range") } if?(list.size?!in?list.indices)?{ ????println("list?size?is?out?of?valid?list?indices?range,?too") } //遍歷 for?(x?in?1..5)?{ ????print(x) } //步長 for?(x?in?1..10?step?2)?{ ????print(x) } println() for?(x?in?9?downTo?0?step?3)?{ ????print(x) }
9,集合
for?(item?in?items)?{ ????println(item) } when?{ ????"orange"?in?items?->?println("juicy") ????"apple"?in?items?->?println("apple?is?fine?too") } //lambda表達式 val?fruits?=?listOf("banana",?"avocado",?"apple",?"kiwifruit") fruits ??.filter?{?it.startsWith("a")?} ??.sortedBy?{?it?} ??.map?{?it.toUpperCase()?} ??.forEach?{?println(it)?}
10,創建對象
val?rectangle?=?Rectangle(5.0,?2.0)?//不需要'new' val?triangle?=?Triangle(3.0,?4.0,?5.0)
參考文獻:?https://kotlinlang.org/docs/reference/coding-conventions.html
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。