【プログラミング】【Kotlin】Kotlin - j-komatsu/myCheatSheet GitHub Wiki

Kotlinについて

読み方

Kotlin(ことりん)

ロシアのJetBrains社によって開発された静的型付けのプログラミング言語。
Javaとの互換性が高く、Android開発などを中心に急速に普及しています。


🧑‍🖓 初学者向けセクション

Kotlinって何?Javaとの違いは?

項目 Kotlin Java
開発元 JetBrains Oracle(元Sun Microsystems)
誕生年 2011年 1995年
コードの簡潔さ 高い 長くなりがち
Null安全 サポートあり(Nullable型) 明示的にnullチェックが必要
拡張関数 あり なし
Android公式対応 〇(2017年より)

Javaとのコード比較

Hello Worldの例

Java

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

Kotlin

fun main() {
    println("Hello, World!")
}

Kotlinのmain関数に修飾子がない理由

Kotlinでは fun main() のように、Javaの public static void main(String[] args) のような修飾子が不要です。 これはKotlinが トップレベル関数(クラスに属さない関数) をサポートしており、 Kotlinコンパイラが自動的に public static void main 相当のメソッドとして変換してくれるからです。

JavaとKotlinのmain関数の比較表

要素 Java Kotlin
public 明示が必要 デフォルトでpublic
static 必須 トップレベル関数として暗黙的にstatic相当
void 明示が必要 Unit型(省略可)
String[] args 必須 args: Array<String>で受け取り可

Kotlinで引数ありのmain

fun main(args: Array<String>) {
    println("引数: ${'$'}{args.joinToString()}")
}

🔹 Kotlinは「必要な修飾子は裏で補ってくれる最新の電動アシスト自転車」みたいな存在!


たとえ話:Kotlinは“最新式の電動自転車”

Javaは昔からある「ギア付き自転車」で、しっかりとした構造と安定性があります。 Kotlinは「電動アシスト付き自転車」のようなもので、 安全性(Null安全)や機能性(拡張関数)が標準装備されています。


🛠️ 専門者向けセクション

Kotlinの主な構文・特徴

1. Null安全

var name: String? = null  // Nullableな変数
println(name?.length)      // セーフコール

2. 拡張関数

fun String.hello(): String = "Hello, $this"
println("World".hello())  // Hello, World

3. データクラス

data class User(val name: String, val age: Int)
val user = User("Taro", 30)
println(user)

4. when式

val x = 3
val msg = when (x) {
    1 -> "One"
    2 -> "Two"
    else -> "Other"
}

5. コルーチン(非同期処理)

import kotlinx.coroutines.*

fun main() = runBlocking {
    launch {
        delay(1000L)
        println("World!")
    }
    println("Hello,")
}

環境設定方法

GradleでKotlinプロジェクトを始める

plugins {
    kotlin("jvm") version "1.9.0"
}

dependencies {
    implementation(kotlin("stdlib"))
}

Mermaid.jsでの処理フロー例

flowchart TD
    A[Kotlinファイル作成] --> B[main関数定義]
    B --> C[処理実装]
    C --> D[ビルド実行]
    D --> E[出力結果表示]
Loading

✨ Kotlinの特徴まとめ(再掲)

特徴 説明
Java互換 Javaライブラリ・コードと共存可能
コンパクト ボイラープレートコードが少ない
型推論 val x = 10 のように型の明示が不要
Null安全 セーフコール、Elvis演算子でNPEを防止
関数型サポート 高階関数、ラムダ式が自然に書ける

📝 入出力の例

fun greet(name: String): String {
    return "Hello, $name!"
}

fun main() {
    val output = greet("Kotlin")
    println(output)
}

入力: "Kotlin"

出力: Hello, Kotlin!


まとめ

KotlinはJava開発者にとって学習コストが低く、現代的な機能を備えた柔軟な言語です。
Androidだけでなく、サーバーサイドやWeb開発にも対応可能で、今後さらに拡大が見込まれます。

⚠️ **GitHub.com Fallback** ⚠️