Kotlin データ型
Kotlinでは、変数の型はその値によって決まります。
例
val myNum = 5 // Int
val myDoubleNum = 5.99 // Double
val myLetter = 'D' // Char
val myBoolean = true // Boolean
val myText = "Hello" // String
ただし、前の章で学んだように、型を指定することも可能です。
例
val myNum: Int = 5 // Int
val myDoubleNum: Double = 5.99 // Double
val myLetter: Char = 'D' // Char
val myBoolean: Boolean = true // Boolean
val myText: String = "Hello" // String
型を指定する必要がある場合もあれば、指定しなくてもよい場合もありますが、異なる型が何を表すかを知っておくと良いでしょう。型を指定する必要がある場面については、後ほど詳しく学びます。
データ型は以下のグループに分かれます:
- 数値型
- 文字型
- ブール型
- 文字列型
- 配列型
数値型
数値型は二つのグループに分かれます:
- 整数型: 整数値(例: 123 や -456)を格納します。有効な型は Byte、Short、Int、Long です。
- 浮動小数点型: 小数部分を含む数値を格納します。Float と Double の二種類があります。
数値型を指定しない場合、整数値は通常 Int
として、浮動小数点数は Double
として返されます。
整数型
- Byte: -128 から 127 までの整数値を格納できます。メモリを節約するために、値が -128 から 127 の範囲であることが確実な場合に使用します。
例
val myNum: Byte = 100
println(myNum)
例
val myNum: Short = 5000
println(myNum)
例
val myNum: Int = 100000
println(myNum)
L
」を付けることができます。例
val myNum: Long = 15000000000L
println(myNum)
Int と Long の違い
整数値が 2147483647 までであれば Int ですが、それを超えると Long として定義されます。
例
val myNum1 = 2147483647 // Int
val myNum2 = 2147483648 // Long
浮動小数点型
浮動小数点型は小数を含む数値を表します。例えば、9.99 や 3.14515 です。Float と Double のデータ型が小数点数を格納できます。
- Float: 小数点数の精度は約6〜7桁です。値の末尾に「
F
」を付ける必要があります。
例
val myNum: Float = 5.75F
println(myNum)
例
val myNum: Double = 19.99
println(myNum)
Float または Double を使用するべきか?
浮動小数点値の精度は、小数点以下の桁数を示します。Float の精度は約6〜7桁ですが、Double 変数の精度は約15桁です。そのため、大半の計算には Double を使用する方が安全です。
また、Float 型の値には末尾に「F
」を付ける必要があります。
科学的表記
浮動小数点数は、10のべき乗を示す「e
」または「E
」を使って科学的表記にすることもできます。
例
val myNum1: Float = 35E3F
val myNum2: Double = 12E4
println(myNum1)
println(myNum2)
ブール型
ブール型は、値が true または false のいずれかしか取れません。
例
val isKotlinFun: Boolean = true
val isFishTasty: Boolean = false
println(isKotlinFun) // true を出力
println(isFishTasty) // false を出力
文字型
Char
データ型は単一の文字を格納するために使用します。文字は単一引用符で囲む必要があります。例えば、「'A'
」や「'c'
」です。
例
val myGrade: Char = 'B'
println(myGrade)
Java とは異なり、Kotlin では ASCII 値を使用して特定の文字を表示することはできません。Java では値 66 が「B」を出力しますが、Kotlin ではエラーになります。
例
val myLetter: Char = 66
println(myLetter) // エラー
文字列型
String
データ型は文字列(テキスト)のシーケンスを格納するために使用します。文字列はダブルクォーテーションで囲む必要があります。
例
val myText: String = "Hello World"
println(myText)
配列型
配列は、複数の値を一つの変数に格納するために使用され、各値のために個別の変数を宣言する代わりに利用します。
型変換
型変換とは、あるデータ型の値を別の型に変換することです。
Kotlin では、数値型の変換は Java とは異なります。例えば、以下のコードでは Int 型を Long 型に変換することはできません。
例
val x: Int = 5
val y: Long = x
println(y) // エラー: 型が一致しません
数値型を別の型に変換するには、以下の関数のいずれかを使用する必要があります: toByte()
、toShort()
、toInt()
、toLong()
、toFloat()
、toDouble()
、または toChar()
です。
例
val x: Int = 5
val y: Long = x.toLong()
println(y)