條件:if和else中的條件必須是true或者false的表示式
表示式:分支的最後一行才是計算的結果
val age =
15var result : string?
=null
result =
if(age >=18)
else
//結果是:未滿18
可選值是什麼:可能有值,也有可能沒值
可選值的符號分別是 ?和!!
?什麼時候用:kotlin中必須給變數乙個初值,但又不知道現在的具體值,就可以給乙個null值。
var name:string ?
=null
特點:在變數宣告中使用?
功能:當這個變數有值,那麼就訪問這個變數的對應的方法,如果沒有值(null)就不會訪問這個變數,也不會報錯。
var name:string ?
=null
//第一種表達方式
if(name !=
null
)char")}
//第二種表達方式
println
("name has $
char"
)//第二種相較於第一種更加簡便,kotlin中追求的就是簡便
val a = arrayofnulls(4
)println
("frist is $
")
!!
什麼時候用:如果在使用可選型別的變數時,能夠確定這個變數有值,才使用!!
var name1: string ?
=null
name1 =
"cr"
println
("name has $
")
和switch的聯絡:when和c語言中的switch差不多,但區別是switch中的條件必須是int型,而when中的條件可以是任意型別
val salary =
8000
val income =
0var tax =
0when
(salary)
in5001
..10000
-> tax =
(salary *
0.1)
.toint()
else
-> tax =
(salary *
0.2)
.toint()
}
這段與上面不同的是tax=可以提出來,但如果不同條件的改變的量不同那麼就不能將tax = 提取出來
val salary =
8000
val income =
0var tax =
0tax =
when
(salary)
in5001
..10000
->
(salary *
0.1)
.toint()
else
->
(salary *
0.2)
.toint()
}
函式就是乙個**塊
功能:用於封裝乙個具體功能
return的意義:從函式中跳出來
與c語言的區別:
c語言要先宣告函式(也就是說要想使用函式必須要先在開頭宣告函式名,而kotlin不需要
同一檔案中的函式可以相互呼叫,不需要匯入標頭檔案,而c語言中需要匯入標頭檔案
分類:
fun
main()
//無引數 無返回值
fun 列印(
)//有1個引數或多個 無返回值
funtext1
(age:int)
:unit
//當函式的語句只有一句話,可以簡化為一下表示式
funtext2
(age:int)
= age
funtext1
(age:int,name:string)
//多個引數 有返回值
funadd
(p1:int,p2:int)
:int
//自己提供預設引數
funminus
(p1:int =
0,p2:int)
: int
如果要在多層迴圈中想要跳出迴圈,可以新增標籤
格式:名稱@
使用時:@名稱
跳出@ for
(i in1..
3)}}
封裝:將屬性和行為(方法和功能)封裝成乙個完整體,並提供給外部互動的介面 (屬性和方法)
類:抽象概念,對一類事物的高度抽象並具有共同的屬性 eg:人
類的名稱首字元大寫
盡量乙個檔案中編寫乙個類,檔名稱和類名保持一致
物件:具體的實際存在的物體 eg:小明
定義乙個類時,是不分配記憶體的
使用這個類時,會將這個類載入到記憶體裡面,名稱是類物件
建立這個類的乙個物件,使用乙個類物件來建立乙個物件並為這個物件分配記憶體空間
當不用這個物件時,就會銷毀物件(收回這個物件擁有的資源然後**記憶體)
通過建構函式來建立物件,不顯示宣告,使用預設建構函式constructor()
格式:類名 + constructor()
功能:在建立乙個物件的同時,賦給物件一些屬性。因為有些物件的屬性必須在建立物件同時擁有,不然後續使用會報錯。在建構函式建立的同時就賦予屬性
次建構函式:除了主建構函式的都是次建構函式
構造順序:如果呼叫主建構函式就直接呼叫,如果使用次建構函式,而且主建構函式有引數,次建構函式必須先呼叫主建構函式
Kotlin基礎 if,for,while語句
1.if語句 val num 1 if num 1 else if num 2 else if x 3 x 4 x 5 println x 春季 else if x 6 x 7 x 8 println x 夏季 else if x 9 x 10 x 11 println x 秋季 else if x...
kotlin中Int Byte的相互轉換,常用
串列埠通訊中傳輸單位為byte,乙個byte占用八位 8bit 常用的方法 看如下直接轉換 var num 23var num2byte num.tobyte println mytest num num num2byte num2byte 結果一切正常 讓這裡的num 128結果如何?轉成byte...
Kotlin中陣列建立以及函式型別
var arr intarrayof 1 2,3 4,5 var arr1 arrayof 1 2,3 4,5 var arr2 arrayofnulls 5 var arr3 array 5 var arr4 intarray 5 對於建立乙個int型別的陣列,可以如上的5種方式進行建立。可看如下...