変数宣言
// Java
String str1 = "あいうえお";
final String str2 = "かきくけこ";
// Kotlin
var str1: String = "あいうえお"
val str2: String = "かきくけこ"
// Kotlin
// 下記のように型の記載をしなくても定義が可能
var str1 = "あいうえお"
val str2= "かきくけこ"
上記を見ればわかるが、変数の宣言は下記の形式となる。
・Java 「変数 変数名 = "〇〇";」
・Kotlin 「var 変数名 = "〇〇"」「var 変数名 = "〇〇"」
「var 変数名 : 型 = "〇〇"」「var 変数名 : 型 = "〇〇"」
また、Javaでは「;」が必要だが、Kotlinでは不要である。
また、Kotlinでは変数名の前に「var」か「val」の記載が必要である。
型推論
Kotlinはコンパイラが型を判断してくれるので、多くの場合は型の記述を省略することが可能である。(=の右側で自動的に判断)var str = "あいうえお" //→ var str: String = "あいうえお"
var num = 100 //→ var num: Int = 100
ただし、下記のように変数の定義と同時に初期値を記載しない場合は、必ず型の指定が必要となる。
「var」と「val」はどのように使い分ければ良いか
違いは下記である。
・var:変数を再度代入することが可能
・val:変数を再度代入することが不可能(Javaで言うfinalに相当する)
// Kotlin
var str1: String = "あいうえお"
val str2: String = "かきくけこ"
str1 = "abcde" → OK
str2 = "ABCDE" → NG