一丐巫,Kotlin 中常見的數(shù)據(jù)類型
①廓俭,Byte?? -128 ~ 127 ? 占用1個字節(jié)(-2的7次方到2的7次方)
②闯捎,Short?? -32768 ~ 32767??? 占用2個字節(jié)(-2的15次方到2的15次方)
③妖碉,Int?? -2147483648 ~ 2147483647??? 占用4個字節(jié)(-2的31次方到2的31次方)
④忽肛,Long??? -9223372036854774808~9223372036854774807??? 占用8個字節(jié)(-2的63次方到2的63次方)
⑤法严,F(xiàn)loat??? 占四個字節(jié)损敷,七位數(shù),精確度為 6 ~ 7 位
⑥深啤,Double?? 占八個字節(jié)拗馒,十六位數(shù),精確度為 15 ~ 16 位
⑦溯街,String??? 字符串
⑧诱桂,Boolean??? true 或 false
二洋丐,定義變量和常量
①,定義變量
Ⅰ:var n = 10挥等,Kotlin會自動推斷數(shù)據(jù)類型友绝,比如該變量 n 會被推斷為 int 類型的變量
Ⅱ:var m:int = 10,顯式的指定變量的數(shù)據(jù)類型肝劲,該變量 m 的類型為 int
Ⅲ:如果定義一個變量迁客,且不知道具體值的話就需要先顯式的指定變量的數(shù)據(jù)類型,如 var n:int
②辞槐,定義常量
??? Ⅰ哲泊,val n:String = "No.123":可以在定義常量的時候就賦值,但只可以賦值一次催蝗,后面不可以修改
??? Ⅱ切威,val n:String:不在定義常量的時候賦值,那么后面可以有一次賦值的機會丙号,但只能有一次先朦,第一次賦值之后便不可以修改該常量
三,定義函數(shù)
1犬缨,正常一些的定義
fun main(args:Array):Unit{
}
Kotlin 中的主函數(shù)喳魏,fun 為固定寫法,main 為參數(shù)名字怀薛,args 為參數(shù)名字刺彩,Array 為參數(shù)的數(shù)據(jù)類型,Unit 為該函數(shù)的返回值數(shù)據(jù)類型枝恋,
如果函數(shù)什么都不返回則寫Unit创倔,Unit可以省略不寫,函數(shù)內(nèi)的返回值用 return 返回出去
函數(shù)接受的參數(shù)如果可以為空焚碌,就在參數(shù)類型后面加問哈 畦攘?,如:fun name(n:String?){}
2十电,比較反常的定義
??? fun name(a:Int , b:Int) = a+ b???? 如果函數(shù)內(nèi)只有一行表達式的話就可以這么寫
3知押,比較厲害了,函數(shù)式表達式
??? ①鹃骂,var name = {x:Int,y:Int -> x+y}
??? ②台盯,var name:(Int , Int) -> Int = {x,y -> x+y}
4,默認參數(shù)和具名參數(shù)
定義函數(shù):fun name(x:Int = 5 ,y:Int) = x + y
調(diào)用該函數(shù)時:name(3,4) 或者 name(y=5)
四畏线,Kotlin 方便之處
??? ①静盅,if 判斷語句如果執(zhí)行語句只有一行的話可以連續(xù)寫,如:if(1 > 0) return 1 else return 0
??? ②象踊,Kotlin 中的 switch 語句是通過 when 來判定的温亲,如:
??? when(3){
?????? 1 -> "一"
??????? 2 -> "二"
??????? 3 -> "三"
??????? else -> "不知道是什么了"
??? }