[Kotlin筆記]Java和Kotlin語法比較(打印訊息print、Log、變數宣告)

以下這篇會是我在學習Kotlin時的筆記
紀錄Java和Kotlin語法比較,但多數會著重在Kotlin的語法
大家可以參考參考

先來個重點整理:
1. Java需要在程式碼結束後加上";",Kotlin不用
2. Java需要宣告變數型態,Kotlin可以不用
3. Java變數型態宣告在前面,Kotlin在後面

1. 打印訊息print

Java:
System.out.print("Hello Java"); //不換行
System.out.println("Hello Java"); //換行
System.out.println("I have " + (3*12) + " bottles of beer") //訊息中若有數字運算或是方法呼叫都必須透過+來串接
int dozen = 3;
System.out.println("I have " + (dozen*12) + " bottles of beer") //結果同上

Kotlin:
print("Hello Kotlin") //不換行
println("Hello Kotlin") //換行
println("I have " + (3*12) + " bottles of beer") //Kotlin一樣可以用+來做串接
println("I have ${3*12} bottles of beer") //另外可以透過"${"和"}"把需要運算的算式、參數和方法放在這,就可以不用用+來做串接
var dozen = 3
Log.d(TAG, "I have ${dozen*12} bottles of beer") //結果同上



2. 打印訊息Log
Java:
private final String TAG = getClass().getSimpleName(); //需要宣告變數型態
...
Log.d(TAG, "Hello Java"); //程式碼結尾需要加";"


Kotlin:
private val TAG = javaClass.simpleName //Kotlin可以不用宣告型態,它會自行判斷
...
Log.d(TAG, "Hello Kotlin") //程式碼結尾不需加";"
Log.d(TAG, "I have ${3*12} bottles of beer") //這裏一樣可以透過"${"和"}"把需要運算的算式、參數和方法放在這


3. 變數宣告
Kotlin和Java一樣,基本型態如下:
* Byte
* Shore
* Int
* Long
* Float
* Double
* Char
* Boolean
* String
在Kotlin裡宣告變數分成兩種var和val
val變數也就相當於Java的final變數,數值一旦給定後就不可再更改

Java:
private String name = "Cindy"; //可變更name的值,變數型態在變數名稱前面
private final String name1 = "Cindy"; //不可變更name1的值


Kotlin:
var name: String = "Cindy" //可變更name的值,變數型態在變數名稱後面
val name1: String = "Cindy" //不可變更name1的值
//另外也可以不給變數型態,由Kotlin來判斷
var name2 = "Cindy" //直接給值,判定為String
var age = 10 //判定為Int
var isGirl = true //判定為boolean
var height = 155.55 //判定為Double

以下是會編譯錯誤的例子:
val age1 //必須賦予age1值或是賦予它型態
val age2: Int
age2 = 10
age2 = 11 //已經賦予age2值了就不能再次給予值


下篇待續...

留言

這個網誌中的熱門文章

[Android] Android Studio 修改PackageName 和專案資料結構

[Android]解決令人頭疼的v7 Toolbar import 問題