表示テーマ
3. 条件分岐
学習目標: ifで条件に応じた処理を書き、境目の値でも確かめられる。
「チェックポイントが3以上ならゴール」。このルールをコードにしてみましょう。
ifの書き方
kotlin
val checkpoint = 3
if (checkpoint >= 3) {
println("ゴール")
} else {
println("あと少し")
}checkpoint >= 3を計算するとtrue(成り立つ)になります。その場合は最初の{ }の中だけを実行します。falseならelse側です。
| 記号 | 意味 |
|---|---|
== / != | 等しい / 等しくない |
> / < | より大きい / より小さい |
>= / <= | 以上 / 以下 |
&& / || | 両方成り立つ / 少なくとも片方が成り立つ |
! | trueとfalseを反転する |
=は代入、==は比較です。似ていますが仕事が違います。
予想:3自身はどちらに入る?
演習の初期コードはcheckpoint > 3です。checkpointを2、3、4にしたとき、それぞれ何が表示されるか予想しましょう。
ゴールの境界を決めよう
checkpointが3以上なら「ゴール」、それ未満なら「あと少し」。2、3、4のすべてで確認しよう。
目標の出力
checkpoint = 2 → あと少し checkpoint = 3 → ゴール checkpoint = 4 → ゴール
自動採点ではありません。入力を変えた場合も結果を確かめてください。
ヒント 1
「より大きい」と「以上」では、3自身を含むかが違う。
ヒント 2
>=は「以上」。直したらcheckpointを2と4にも変えて確かめよう。
解答例
fun main() {
val checkpoint = 3
if (checkpoint >= 3) {
println("ゴール")
} else {
println("あと少し")
}
}解答例を閉じて、もう一度自分で書いてみてください。これ以外の正しい書き方もあります。
値を選ぶif
Kotlinのifは値を返す式としても使えます。
kotlin
val powered = true
val jumpPower = if (powered) 1.5 else 1.0
println(jumpPower)この場合、jumpPowerは1.5です。値を必ず選べるように、else側も用意します。
MODでの使用例
条件分岐は「特定の状態のときだけジャンプさせる」といった動きに使えます。まずはpoweredのような単純なBooleanで練習しましょう。Minecraftから状態を取得する方法は、Kotlinの条件分岐とは別に学ぶAPIの知識です。