6-1. 数値型とリテラル
Contents
概要
任意の数値データを扱うデータ型です。
整数型と浮動小数点型に分けられます。
リテラル
整数リテラル
整数リテラルでは、10 進数のほか 16 進数と 2 進数も扱えます。
16 進数表現は、先頭を 「0x」として、続けて 16 進数で表記します。
2 進数表現は、先頭を「0b」として、2 進数で表記します。
Kotlin では、8 進数のリテラルはサポートされていません。
例
10
10000000
0x0A
0b1001
また、Long 型を明記する場合には 末尾に「L」をつけます。
例
2000000000000000000L
10000000 のように桁数が多い数値の場合に見やすくするため、「_」(アンダースコア) の記号を途中に入れて表記することも可能です。
例
10000000
10_000_000
浮動小数点数リテラル
浮動小数点数リテラルでは、小数点表記や指数表記が利用できます。
一般的な少数と同様に、整数部、小数点、小数部の順に記述します。さらに指数を利用する場合は、「e」または「E」、プラス記号「+」もしくはマイナス記号「-」を整数指数という記述形式で小数部のあとに記述します。
例
3.14
.1
1.1e3
1.1e+3
1.234e-5
また、float 型であることを明記する場合は、末尾に「f] をつけます。
例
0.222f
数値型
整数型
型 | ビット数 | データの範囲 | リテラルの例 |
---|---|---|---|
Byte | 8 ビット | -128 ~ 127 | 123 0x0F 0b1001 |
Short | 16 ビット | -32768 ~ 32767 | 1234 0x0F 0b1001 |
Int | 32 ビット | -2,147,483,648 ~ 2,147,483,647 | 1234567890 0x0F 0b1001 |
Long | 64 ビット | -9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807 | 1234 1234L |
符号なし整数型 (Kotlin 1.5 以降)
符号なしの整数型も 1.5 以降でサポートされています。
データ型 | ビット数 | データの範囲 |
---|---|---|
UByte | 8 ビット | 0 ~ 255 |
UShort | 16 ビット | 0 ~ 65535 |
UInt | 32 ビット | 0 ~ 4294967295 |
ULong | 64 ビット | 0 ~ 18446744073709551615 |
浮動小数点型
データ型 | ビット数 | データの範囲 |
---|---|---|
Float | 32 ビット | 1.40129846432481707e-45 ~ 3.40282346638528860e+38 |
Double | 64 ビット | 4.94065645841246544e-324 ~ 1.79769313486231570e+308 |
例
以下は、変数の宣言とともにリテラルでの代入の例です。
fun main() { val b: Byte = 1 val s: Short = 10 val i: Int = 10000 val l: Long = 1_000_000_004 val d: Double = 1.41421356237 val f: Float = 3.1415f println("Byte Value is " + b) println("Short Value is " + s) println("Int Value is " + i) println("Long Value is " + l ) println("Double Value is " + d) println("Float Value is " + f) }
実行結果
Byte Value is 1
Short Value is 10
Int Value is 10000
Long Value is 1000000004
Double Value is 1.41421356237
Float Value is 3.1415
Kotlin Playground で実行