Kotlin 変数
変数はデータ値を格納するためのコンテナです。変数を作成するにはvar
またはval
を使用し、等号(=
)で値を割り当てます。
文法
var 変数名 = 値
val 変数名 = 値
例
var name = "John"
val birthyear = 1975
println(name) // 名前の値を出力
println(birthyear) // 生年の値を出力
var
キーワードで宣言された変数は変更できますが、val
変数は変更できません。
変数の型
他の多くのプログラミング言語とは異なり、Kotlinの変数は特定の型(例えば、テキスト用のString
や数字用のInt
)を宣言する必要がありません。以下の例では、テキストを格納する変数と数字を格納する変数を作成します。
例
var name = "John" // 文字列(テキスト)
val birthyear = 1975 // 整数(数字)
println(name) // 名前の値を出力
println(birthyear) // 生年の値を出力
Kotlinは「John」が文字列(テキスト)であり、1975が整数(数字)の変数であることを自動で理解することができます。しかし、もし必要であれば型を指定することも可能です。
例
var name: String = "John" // 文字列
val birthyear: Int = 1975 // 整数
println(name)
println(birthyear)
値を割り当てずに変数を宣言し、後で値を割り当てることもできます。ただし、これは型を指定した場合にのみ可能です。
例
以下のコードは正常に動作します:
var name: String
name = "John"
println(name)
以下のコードはエラーを生成します:
var name
name = "John"
println(name)
valに関する注意
val
キーワードで変数を作成すると、その値は変更/再割り当てできません。
以下の例はエラーを生成します:
例
val name = "John"
name = "Robert" // エラー(valは再割り当てできません)
println(name)
var
を使用すると、値をいつでも変更できます。
例
var name = "John"
name = "Robert"
println(name)
いつval
を使用するか
val
キーワードは、例えばPI(3.14159…)のように常に同じ値を保持する変数に使用すると便利です。
例
val pi = 3.14159265359
println(pi)
変数の表示
上記の例で見たように、println()
メソッドは変数を表示するために頻繁に使用されます。テキストと変数を組み合わせるには、+
文字を使用します。
例
val name = "John"
println("Hello " + name)
また、+
文字を使用して変数を他の変数に追加することもできます。
例
val firstName = "John "
val lastName = "Doe"
val fullName = firstName + lastName
println(fullName)
数値の場合、+
文字は数学の演算子として機能します。
例
val x = 5
val y = 6
println(x + y) // x + yの値を出力
上記の例では次のことを行っています。
- xは値5を格納します
- yは値6を格納します
- 次に
println()
メソッドを使用してx + y
の値を表示します。結果は11です。
変数名
変数は短い名前(例えばxやy)や、より説明的な名前(年齢、合計、総容量など)を持つことができます。Kotlinの変数に関する一般的なルールは次のとおりです:
- 名前には文字、数字、アンダースコア、およびドル記号を含めることができます。
- 名前は文字で始める必要があります。
- 名前は
$
および_
で始めることもできます(ただし、このチュートリアルでは使用しません)。 - 名前は大文字と小文字を区別します(
myVar
とmyvar
は異なる変数です)。 - 名前は小文字で始めるべきで、空白を含むことはできません。
- 予約語(
var
やString
などのKotlinキーワード)は名前として使用できません。
キャメルケース変数
上記の例でfirstName
とlastName
を変数名として使用したことに気づいたかもしれません。これは「キャメルケース」と呼ばれ、異なる単語を含む変数名を読みやすくするために良い習慣とされています。例えば、myFavoriteFood
やrateActionMovies
などです。