間違いがあれば指摘していただけると幸いです。
Kotlinを簡単に実行するにはこちら
実際に打ち込んで検証するとより理解度が深まります。
実際に読んでみて良かった書籍について情報を発信していますので、
よろしければTwitterのフォローもお願いします。
if命令
構文(else ifやelseは任意)
if(条件式){
処理
}else if(条件式){
処理
}else{
処理
}
Kotlinのifは文ではなく式なので値を返せます。
fun main() {
var num = 100
var msg = if(num == 100){
"変数numは100である"
}else if(num == 111){
"変数numは111である"
① }else{
"変数numは100でも111でもない"
}
println(msg)
}
実行結果は
変数numは100である
となります。
①if式では必ず値を返さなければならないため、elseを省略することはできません。
elseを省略するとこのようなエラーが発生します。
'if' must have both main and 'else' branches if used as an expression
when...else命令
構文
when(条件となる値){
条件となる値 ->{
処理
}
else ->{
処理
}
}
式の値に応じて処理を分岐します。
fun main() {
val point = 2
when(point){
1 ->{
println(1)
}
2 ->{
println(2)
}
else ->{
println("else")
}
}
}
実行結果は以下の通りです。
2
条件となる値には複数の値や範囲値も指定可能
(,)カンマで複数の値を列挙したり、「in m...n」で範囲値を渡すこともできる。
fun main() {
val point = 95
when(point){
100 ->{
println(100)
}
99,98 ->{
println("99または98")
}
① in 90..97 ->{
println("90から97の範囲")
}
else ->{
println("else")
}
}
}
①の範囲値については後述します。
実行結果は以下の通りです。
90から97の範囲
is演算子
is演算子を使用すると値ではなく型で判定することができます。
fun main() {
val name = "山田"
when(name){
is String ->{
println(name)
}
else ->{
println("else")
}
}
}
実行すると結果は以下の通りになります。
山田
型判定した後の式(変数)は該当する型とみなせるため、
それぞれの型に応じたメンバーを呼び出せます。
for命令
Kotlinのfor命令はJavaでいうところの拡張forに相当する構文が基本です。
基本となる構文
for(変数 in 配列または範囲値){
println(変数)
}
入力例
fun main() {
val list = arrayOf("山田","鈴木","田中")
for(name in list){
println(name)
}
}
実行すると結果は以下の通りになります。
山田
鈴木
田中
範囲値
範囲演算子(..)を使用することでm~nの範囲を表現できる。
fun main() {
val i = 5
if(i in 1..10){
println("1~10の範囲にある")
}
}
実行すると以下の通りになります。
1~10の範囲にある