Skip to content

2. 型 ​

学習目標: 数値・文字列・真偽値を区別し、型の違いが結果にどう影響するか説明できる。

ジャンプの回数は整数、強さは小数、ブロックの名前は文字列で表します。Kotlinでは、こうした値の種類を型で区別します。

よく使う4つの型 ​

型値の例この教材での使い道
Int3、0、-1ジャンプの回数などの整数
Double1.0、1.5小数を使う強さや速度
String"ジャンプ台"文字列
Booleantrue、false条件が成り立つかどうか
kotlin
val jumps: Int = 3
val power: Double = 1.5
val name: String = "ジャンプ台"
val enabled: Boolean = true

名前の後の: 型は「この名前では、この種類の値を扱う」という指定です。val power = 1.5のように省略できるのは、Kotlinが初期値から型を推論するためです。型がなくなるわけではありません。

予想:2と"2"は同じ? ​

kotlin
println(2 + 3)
println("2" + 3)
結果と理由

1行目は5。整数の足し算です。2行目は23。文字列の後ろに3を文字としてつなげています。"2"を自動で数値に変えて計算しているわけではありません。

整数の割り算に注意 ​

5 / 2は2、5.0 / 2.0は2.5です。整数どうしの割り算では、小数部分が切り捨てられます(正確には0に向かって切り詰めます)。

数を文字と区別しよう

数の計算で「5」を、小数の割り算で「2.5」を表示する。

目標の出力
5
2.5

自動採点ではありません。入力を変えた場合も結果を確かめてください。

ヒント 1

"2"はString。2はInt。引用符があるかどうかを見よう。

ヒント 2

整数どうしの割り算では小数部分が残らない。5.0 / 2.0なら?

解答例
fun main() {
    val jumps = 2
    println(jumps + 3)
    println(5.0 / 2.0)
}

解答例を閉じて、もう一度自分で書いてみてください。これ以外の正しい書き方もあります。

型を変えたいとき ​

kotlin
val count = 3
val power: Double = count.toDouble()
println(power) // 3.0

val power: Double = countとは書けません。整数をDoubleとして使いたい場合は、toDouble()で変換します。

また、varにしても型は自由には変わりません。var count = 3と宣言した後にcount = "三"とは書けません。

MODでの使用例 ​

JumpPadBlockのsetDeltaMovementには、x・y・z方向の速度を渡しています。教材のコードで使っている1.0はDoubleです。ブロックの表示名のような文字列とは役割が違います。