お試し

Kotlinをさわってみる

最近、C#やPowerShell、JavaScirptでしかコードを書けていないため、新たな刺激を求めてKotlinを少し勉強しました。その中から私がこの機能便利だなと思ったものを抜粋して共有したいと思います

そもそもKotlinって何?

KotlinはJavaと互換性のある言語で、GoogleにAndroid開発言語としても認められています
KotlinとJavaのよくサイトなどでみる違いがNullの扱いです。その他にもいくつかありますが、詳しくは以下のサイトが参考になるかと思います

KotlinJava
Nullの扱い基本NG(書き方によっては許容する)許容する
開発会社JetBrains社Oracle社
公式サイト
【超入門】Kotlinとは?Kotlinの特徴やJavaとの違いなどを解説  |  ことすた
【超入門】Kotlinとは?Kotlinの特徴やJavaとの違いなどを解説 | ことすた

この記事では、Kotlinの特徴やJavaとの違い、Kotlinでできることや開発されたアプリを紹介していきます。Jav ...

続きを読む

範囲演算子

意外と使い道の多い範囲判定です。「..」と記載するとX~Xの間という挙動となります
以下は100~200の範囲と1~99の範囲であるかの判定をしています

val num = 100
println(num in 100..200) // true
println(num in 1..99)    // false

if文(when文)

when文とは他の言語いうところのswitch文となります。これは他の言語でもぜひともできるようになってほしい機能です。それはif文(when文)の結果をそのまま変数に代入できることです

//if文の場合
val num = 100
var msg = if(num <= 50) {
    "numは50以下です"
} else if (num <= 100) {
    "numは100以下です"
} else {
    "numは100より大きいです"
}
println(msg) // numは100以下です

// when文の場合
val score = 20
var msg = when (score) {
    100,99 -> "素晴らしい"       // 複数の値
    in 60..98 -> "合格です"      // 範囲を指定
    !in 60..100 -> "不合格です"  // 指定範囲にない
    else -> "不正な点数です"
}
println(msg) // 不合格です

ラベル構文

二重forループでbreakする際にboolを用意して二重ループを抜け出すといったことをしていますが、子の構文を使用すれば簡単に抜けられます

// outer@や@outerがラベル構文
outer@ for(i in 1..3) {
    for(k in 1..3) {
        if(i * k > 3) break@outer
        print("${i * k}")
    }
    println()
}

// 以下の出力がされる
// 1 2 3
// 2

上記の二重for文以外にもラベル構文は他にも色々使い方があるようです

-お試し
-