Kotlinの基本的な型
Kotlinでは全てはオブジェクトであり、Javaにあるようなプリミティブはありません。以下に挙げるような基本的な型もオブジェクトとして扱われます。ただし、これらの基本的な型はコンパイル時にプリミティブへと最適化されるため、パフォーマンスが犠牲になることはありません(総称型の型パラメータで使われている場合など、一部例外はある)。
真偽値型(Boolean)
Boolean型は真偽値を表し、値としてtrue
またはfalse
をとります。true
は真、false
は偽を表します。Boolean型の変数は、以下のように宣言します。
val boolean: Boolean = true
※ 説明のため明示的に型を記載していますが、実際にコードを書く際は、型推論を用いて適宜型の記載を省略してください。
以下のように、何らかの評価結果を直接代入することも可能です。括弧は省略しても問題ありません。
val boolean: Boolean = (a > 0)
真偽値の判定には!
を用います。not()
を用いても同様の結果を得ることができます。個人的には、not()
を使った方が可読性が高くて良いかな、と思います。
!boolean
boolean.not()
数値型(Number)
Kotlinでは、全ての数値型はNumberを親クラスに持ち、Number型で用意されている関数を使うことができます。また、数値型同士の暗黙的な型変換を行うことはできず、Number型で用意されているtoInt()
、toDouble()
などを用いて明示的に型変換を行います。
整数型
Kotlinで用意されている整数型は、Byte型、Short型、Int型、Long型があります。
型 | ビット数 | 最小値 | 最大値 |
---|---|---|---|
Byte | 8 | -128 | 127 |
Short | 16 | -32,768 | 32,767 |
Int | 32 | -2,147,483,648 | 2,147,483,647 |
Long | 64 | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
基本はInt型
これらの数値型の中で、基本となるのはInt型になると思います。もちろん、要件次第で他の型を使うのは問題ありません。
数値に区切りを入れる
数値リテラルには、_
を用いて区切りを入れることができます。_
を用いて区切りを入れた場合、実際の数値には影響を与えません。
val int: Int = 1_000_000 // 1000000
Long型の宣言
Long型は、数値リテラルの後にL
を付けて表します。
val long: Long = 0L
Long型の変数は以下のように数値リテラルにL
を付けずに宣言することも可能ですが、Long型を使いたい時に誤ってInt型を使用しないよう、明示的にL
を付けた方が良いでしょう。
val long: Long = 0
浮動小数点型
Kotlinで用意されている浮動小数点型は、Float型とDouble型があります。整数を扱う整数型に対して、浮動小数点型は少数を扱います。
型 | ビット数 |
---|---|
Float | 32 |
Double | 64 |
Float型の宣言
Float型は、Long型の宣言と同様に、数値リテラルの後にf
またはF
を付けて表します。Long型と異なり、Float型は明示的にf
またはF
を付けなければなりません。
val float: Float = 0.0f
文字型(Char)
Char型は、単一の文字を表します。文字リテラルをシングルクオート'
で囲んで表します。
val char: Char = 'a'
文字列型(String)
String型は、文字列を表します。文字リテラルをダブルクオート"
で囲んで表します。
val string: String = "string"
About me 😎

茨城県つくば市在住のソフトウェアエンジニアです。専門領域はAndroidアプリ開発で、特にアーキテクチャに興味があります。某社でAndroidアプリ開発のテックリードをしています。
Jetpack ComposeによるAndroid MVVMアーキテクチャ入門の著者です。
👉 もっと詳しく
Writing 📝
Android MVVMアーキテクチャ入門
Androidアプリ開発の初学者に向けた、MVVM(Model-View-ViewModel)アーキテクチャの入門書を書きました。初学者の方を確実にネクストレベルに引き上げる技術書です。
👉 もっと詳しく