5. Kotlin 変数 (Variables)
概要
変数は、プログラム内でデータを操作するための基本的な構成要素で、データを格納するための名前付きのメモリ領域です。
変数を使用することで、 値を格納し、 名前で参照し、 必要に応じて更新することができます。 変数は、 数値、 文字列、 オブジェクトなど、 さまざまな型のデータを保持できます。
Kotlin の変数は、 プログラムの実行中に値を変更できる変数とできない変数があります。
Kotlin で変数を定義するには、以下のキーワードを使用します。
- var : 最初に値を代入した後に、再度代入することが可能(mutable) な変数です。variable の略
- val : 一度値を代入した後は、再度代入することが不可能(immutable) な変数です。 value の略。Read-Only と表現してもよいかもしれません。
構文
Kotlin で変数を宣言するには、val または var キーワードを使用し、変数名と型を指定します。
変数の初期化は必須ではありませんが、 初期化されていない変数を使用しようとするとコンパイルエラーが発生します。
変数名は任意に決めることができます。
ただし変数名に用いることができないキーワード(予約語)があります。キーワードについては別ページに記載しています。
変数名の宣言は、以下の形で行います。
var 変数名 : 変数の型 = 初期値
val 変数名 : 変数の型 = 初期値
例
var language : String = "Kotlin"
val pi : Double = 3.1415
初期値を代入する場合は、型の宣言は省略することができます。
これは Kotlin が型推論という機能によって可能となっています。
例
var language = "Kotlin" // 型は Strings と推論される
var pi = 3.1415 // 型は Double と推論される
変数宣言のみで初期化しない場合は、: に続けて変数の型を指定する必要があります。
例
var language : String
val pi : Double
その後、値を代入できます。
language = "Kotlin"
pi = 3.1415
変数の値の更新
var キーワードで宣言された変更可能な変数は、 代入演算子 (=) を使用して値を更新できます
例
fun main() { var language = "Kotlin" println(language) language = "Java" println(language) }
コンパイル
kotlinc var1.kt -include-runtime -d var1.jar
実行
java -jar var1.jar
実行結果
Kotlin
Java
Kotlin Playground で実行
一方、val で宣言した値は最初に決めた値から書き換えることができません。
変更しようとするとコンパイル時にエラーになります。
fun main() { val language = "Kotlin" println(language) language = "Java" println(language) }
コンパイル
kotlinc val1.kt -include-runtime -d val1.jar
コンパイルエラー
val1.kt:5:4: error: val cannot be reassigned
language = "Java"
^
参考情報
kotlinlang.org での変数に関連する情報は以下にあります。