📑
Kotlin脳内ランタイムクイズ
Kotlin 問題集
この記事は Kotlin Fest 2024 のログラスブースでのクイズ企画です!
ルール
- 皆さんの脳内で Kotlin のコードを実行し、結果を回答してください!
- PC で実行してはいけません
回答方法
全問回答できたらブースにお越しください!
全問正解者には Anker の充電器や技術書などの景品をご用意しております。
※ 数に限りがあるため、先着順のお渡しになります
お願い
問題に回答したら、ぜひシェアをお願いします!
問 1 出力は?
- null
- NullPointerException が throw される
fun main() {
print(null.toString())
}
問 2 main()実行時の出力は?
- fizz => buzz => 8 => fizzbuzz
- fizzbuzz => fizzbuzz => 8 => fizzbuzz
- 8
- buzz => 8
fun main() {
fizzBuzz(3)
fizzBuzz(5)
fizzBuzz(8)
fizzBuzz(15)
}
fun fizzBuzz(num: Int) {
if (num % (3 * 5) == 0) {
"fizzbuzz"
} else if (num % 3 == 0) {
"fizz"
} else if (num % 5 == 0) {
"buzz"
} else {
num
}.let(::println)
}
問 3 戻り値は?
- 例外が投げられる
- Unit
- Nothing
fun test() {
throw return
}
問 4 出力される順番は?
- 3 ⇒ 2 ⇒ 4 ⇒ 1
- 3 ⇒ 4 ⇒ 2 ⇒ 1
- 2 ⇒ 1 ⇒ 3 ⇒ 4
- 2 ⇒ 3 ⇒ 4 ⇒ 1
fun main() {
runBlocking {
async {
runBlocking {
async {
delay(300)
println(1)
}
listOf(
async { delay(100) },
async { delay(100) },
async { delay(100) },
).awaitAll()
println(2)
}
}
println(3)
delay(200)
println(4)
}
}
問 5 出力は?
- 32
- 64
- 128
- 256
fun main() {
2.test()
}
fun Int.test() {
2.let {
square(it) * square(this).run {
this.also {
(square(it) * this).apply {
square(this)
}
}.let(::square)
}
}.let(::println)
}
private fun square(n: Int): Int {
return n * n
}
Discussion