Kotlin是由俄羅斯聖彼得堡的JetBrains開發團隊開發出來的程式語言,他可以在JVM(java虛擬機)環境中和java code運作,同時也可將程式碼編譯成js,方便在js的環境下去運行你的程式碼,而整體來說寫法會比java的更簡潔一點,那麼就進入語法的部分,首先先看到變數的宣告:
變數首先會有var和val的這兩個字眼,var代表的是可變變數,而val則是不可變變數(類似final,但final的限制更多),接著看到宣告範例。
fun main(){
//lateinit可後面在賦值(null)
lateinit var str : String
//val值不可變動(類似final)
val str2 : String = "text"
//可變變數(另外還有Float、Double、Byte、Char等)
var s : String ="abc"
var i : Int = 5
var l : Long = 9223372036854775807
var b : Boolean = true
//若不給予型態也可宣告(Any可為任何型態(如java的Object))
var a = 10
var a1 : Any = 20
}
if else
if-else算很常會用到的判斷方式,與java的寫法一樣,而也可以直接丟給變數(寫法2)。
fun main(){
var a = 10
var ans = 0
//寫法1
if(a<5){
ans=1
}
else if(a<10){
ans=2
}
else {
ans=3
}
//寫法2
var ans2 = if(a<5) 1 else if(a<10) 2 else 3
}
when
可以判斷傳入的值並執行對應的情況,整體來說用起來有點類似java的switch-case。
fun main(){
var t = 3
when(t){
1 -> println("t=1")
2 -> println("t=2")
else -> {
println("t>2")
}
}
}
另外也有判斷值是否為null的運算子,!! 和 ?
val text : String = "text"
Log.d("Length",""+text!!.length)//當值為空會丟異常
Log.d("Length",""+text?.length)//值可為空
fun
fun等同於java的void。
//函式使用
class main{
f()
var f1 = f1()
var f2 = f2(2)
}
//不須傳入值、無回傳
fun f(){
}
//不須傳入值、回傳String
fun f1():String{
return "f1"
}
//傳入Int值、回傳String
fun f2(num : Int):String{
if(num>0){
return "num>0"
}
else
return "num=0"
}
for-loop
在kotlin的for裡面,只需要下變數名稱 in A..B ,他變數名稱就會幫你從A跑到B了,大概如下:
// for(int i = 1 ; i<=5 ; i++){
// System.out.println(i);
// }
for(i in 1..5){
println(i)
}
// Output
// 1
// 2
// 3
// 4
// 5
while
var j = 8
while(j<=10){
println(j)
j++ //j=j+1
}
// Output
// 8
// 9
// 10
今天就先簡單介紹一些會用到的語法,當然還有像是list或是運算子等等沒有介紹到,等之後用到時會在詳加說明,明天主要以java執行緒、kotlin的Thread及Coroutines繼續講起,那就明天再見!