Kotlinの基本構文における「データ型」について詳しく説明します。Kotlinは静的型付け言語であり、変数や関数の型はコンパイル時に決定されます。ただし、型推論(type inference)によって明示的に型を指定しなくても、コンパイラが自動で型を推測してくれる点が特徴です。
1. 基本的なデータ型(プリミティブ型)
Kotlinでは、すべての型はオブジェクトとして扱われます。Javaのプリミティブ型に相当する型も、Kotlinではクラスとして提供されています。
| 型名 | ビット数 | 説明 | 例 |
|---|---|---|---|
Byte |
8ビット | 符号付き整数(-128〜127) | val b: Byte = 10 |
Short |
16ビット | 符号付き整数(-32,768〜32,767) | val s: Short = 1000 |
Int |
32ビット | 一般的な整数型 | val i: Int = 12345 |
Long |
64ビット | 大きな整数 | val l: Long = 123456L |
Float |
32ビット | 単精度浮動小数点数 | val f: Float = 3.14f |
Double |
64ビット | 倍精度浮動小数点数 | val d: Double = 3.14 |
Boolean |
1ビット | 真理値(true / false) |
val flag: Boolean = true |
Char |
16ビット | Unicode文字 | val c: Char = 'A' |
2. 文字列型
-
String型は文字列を扱うクラスです。 -
文字列は
"(ダブルクオート)で囲みます。 -
文字列テンプレートを使って変数を埋め込むこともできます。
3. 型推論(Type Inference)
Kotlinでは、初期化と同時に値を代入すれば、型を省略できます。
4. Any型・Unit型・Nothing型
-
Any:すべてのクラスのスーパータイプ。JavaのObjectに相当。 -
Unit:戻り値がない関数に使う型。Javaのvoidに相当。 -
Nothing:値を返さない関数(例外を投げるだけなど)に使う型。
5. Nullable型(null許容型)
Kotlinはnull安全を重視しており、デフォルトではnullを代入できません。nullを許可したい場合は型の末尾に?をつけます。
null許容型の変数にアクセスするには「安全呼び出し演算子 ?.」などを使います。
6. 型の変換(キャスト)
Kotlinでは、明示的な型変換が必要です。自動的な拡張変換(例:IntからLong)は行われません。
まとめ
Kotlinのデータ型は、安全性と簡潔さを両立するよう設計されています。基本型はJavaに似ていますが、null安全性や型推論、オブジェクトとしての統一的な扱いが特徴です。
生成日:2025/05/04