【Kotlin】制御構文についてまとめる

環境の準備

実行環境

  • Intellij IDEA Community 2021.3
  • open JDK 17.0.1
  • Kotlin 1.6

if文

一般的な書き方

fun main(args: Array<String>) {
	val a = 1
	if (a == 1) {
		println("true")
	} else {
		println("false")
	}
}

ショートハンド

  • Javaと違って、Kotlinではif文に戻り値が返ってくる。
  • 3行目のJavaでの3項演算子と同じように使える。(なので、Kotlinには3項演算子がない)
fun main(args: Array<String>) {
	val a = 1
  // String b = (a == 1) ? "true" : "false";
	val b = if (a == 1)  "true" else "false"
	println(b)
}

when文(Javaだとswitch文)

when文

  • if文と同じく戻り値がある。
fun main(args: Array<String>) {
	val a = 100
	val b = when (a) {
		1 -> "One"
		2 -> "Two"
		3, 4 -> "Three or Four"
		in 5..10 -> "Many"
		else -> "Other"
	}
	println(b)
}

Javaでのswitch文

  • Kotlinのように、caseに複数の値を指定できない。
public void test() {
    int a = 100;
    String b = "";
    switch (a) {
        case 1:
            b = "One";
            break;
        case 2:
            b = "Two";
            break;
        default:
            b = "default";
    }
    System.out.println(b);
}

for文

  • 2行目のような書き方はKotlinにはない。
  • 「..」だと 0 <= 9
fun main(args: Array<String>) {
  // for (int i = 0; i <= 9; i++) {
	for (i in 0..9) {
		println(i) //0から9まで表示
	}
}
  • 「until」だと、0 < 9
fun main(args: Array<String>) {
	for (i in 0 until 9) {
		println(i) //0から8まで表示
	}
}
fun main(args: Array<String>) {
  // for (int i = 9; 0 <= i; i--) {
	for (i in 9 downTo 0) {
		println(i) //9から0まで表示
	}
}
  • 配列とリストの場合
fun main(args: Array<String>) {
//	val array = arrayOf("One","Two","Three")
	val array = listOf<String>("One","Two","Three")
	for (i in array) {
		println(i) //0から8まで表示
	}
}

while文

  • Javaといっしょ
fun main(args: Array<String>) {
	var i = 0
	while (i < 10) {
		println(i) //0から9まで表示
		i++
	}
}

do while文

  • Javaといっしょ
fun main(args: Array<String>) {
	var i = 0
	do {
		println(i) //0から9まで表示
		i++
	} while (i < 10)
}

あとがき

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です