基本型(ツアー)
Kotlinでは、すべての変数とデータ構造にはデータの型があります。データの型はコンパイラに対して、あなたがその変数やデータ構造にどういう操作を許しているかを伝えるという重要な役割を果たしています。 言い換えると、その変数やデータ構造がどのような関数やプロパティを持っているか、という事を伝えているという事です。
前の章で、Kotlinはcustomers
がInt
型を持つという事を分かっていました。
Kotlinがデータの型を推測する機能を、型推論(type inference)と呼びます。customers
には整数の値がセットされました。
この事から、Kotlinはcustomers
が数値のデータ型、つまりInt
であろうと推論した訳です。
その結果として、コンパイラはあなたが算術演算をcustomers
に出来る、という事を理解出来る訳です。
fun main() {
//sampleStart
var customers = 10
// 何人かの客が列から離脱
customers = 8
customers = customers + 3 // 足し算の例: 11
customers += 7 // 足し算の例: 18
customers -= 3 // 引き算の例: 15
customers *= 2 // 掛け算の例: 30
customers /= 3 // 割り算の例: 10
println(customers) // 10
//sampleEnd
}
+=
,-=
,*=
,/=
,%=
は、拡張代入演算子と呼ばれるものです。もっと詳しく知りたければ、拡張代入を参照してください。
全体としては、Kotlinには以下の基本型があります:
カテゴリ | 基本型 |
---|---|
整数 | Byte , Short , Int , Long |
符号無し整数 | UByte , UShort , UInt , ULong |
浮動小数点数 | Float , Double |
Boolean型 | Boolean |
文字型 | Char |
文字列型 | String |
基本型についてのより詳細な情報やプロパティについては、基本型を参照ください。
以上の知識があれば、変数を先に宣言しておいて初期化は後回しにする、という事が出来るようになります。 最初に変数が読まれる前に初期化をしてさえあれば、どこまでも初期化を後回しに出来ます。
初期化せずに変数を宣言するには、型を:
で指定して宣言します。
例を挙げましょう:
fun main() {
//sampleStart
// 変数を初期化せずに宣言
val d: Int
// 変数を初期化
d = 3
// 明示的に型を指定した変数を初期化
val e: String = "hello"
// 変数は初期化済みなので読んでOK
println(d) // 3
println(e) // hello
//sampleEnd
}
基本型をどう宣言するかをマスターしたので、コレクションについて学ぶ時が来ました。
練習問題
以下の変数を明示的に型指定して宣言せよ:
fun main() {
val a = 1000
val b = "log message"
val c = 3.14
val d = 100_000_000_000_000
val e = false
val f = '\n'
}
解答例
fun main() {
val a: Int = 1000
val b: String = "log message"
val c: Double = 3.14
val d: Long = 100_000_000_000
val e: Boolean = false
val f: Char = '\n'
}