言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

  1. トップページ
  2. Kotlin辞典

Kotlin辞典

初心者向け: 概要と特徴、学習順ガイドKotlinの全体像・JetBrains開発・Android公式言語・null安全・実行の仕組み(.kt→kotlinc→.class→JVM)を整理し、辞典の各ページをどの順番で学べばよいかを案内します。
【環境構築】Kotlinの開発環境Kotlinをインストールして実行するための環境構築手順。
.ktファイルの作成と実行方法.ktファイルの書き方とコンパイル・実行方法。
val / var不変変数と可変変数の宣言。
基本データ型数値・文字・真偽値の型。
String テンプレート文字列内に変数・式を埋め込む構文。
文字列.length / 文字列.isEmpty()文字列の長さ・空チェック。
文字列.substring() / drop() / take()部分文字列の取得。
文字列.replace() / trim()文字列の置換・トリム。
文字列.split() / joinToString()文字列の分割と結合。
文字列.toInt() / toDouble()文字列から数値への変換。
if 式条件分岐・戻り値を持つ式。
when 式多分岐・型チェックの構文。
範囲・for ループ範囲演算子とループ。
fun 関数の定義関数の宣言・引数・戻り値。
単一式関数 / ローカル関数簡潔な関数定義。
ラムダ式無名関数の定義と渡し方。
高階関数関数を引数・戻り値にする仕組み。
inline 関数ラムダのインライン展開。
Nullable型 / ?. 演算子nullを安全に扱う基礎。
?: エルビス演算子nullのときのデフォルト値を指定する演算子。
!! 非nullアサーションnullを強制的に非nullに変換する演算子。
let でスコープ限定nullチェック後に安全に処理する方法。
スマートキャスト / as?型チェック後の自動キャスト。
class / コンストラクタークラス定義とプライマリコンストラクター。
data classデータ保持に特化したクラス。
sealed class / sealed interface限定的な継承階層。
enum class列挙型の定義と使い方。
object / companion objectシングルトンと静的メンバー。
open / override継承・メソッドのオーバーライド。
interfaceインターフェースの定義と実装。
拡張関数既存クラスにメソッドを追加する仕組み。
カスタム getter / setterプロパティのアクセサー定義。
lateinit / lazy遅延初期化の仕組み。
委譲プロパティプロパティを別オブジェクトに委譲する仕組み。
分割宣言複数変数への同時代入。
letnullチェックや変換チェーンに使うスコープ関数。
run / withオブジェクトのセットアップに使うスコープ関数。
applyオブジェクトの設定・初期化に使うスコープ関数。
alsoデバッグ・副作用の挿入に使うスコープ関数。
リスト — 生成 / listOf() / mutableListOf()リストの作成と基本アクセス。
リスト — filter() / map()要素の絞り込みと変換。
リスト — find() / first() / any() / all()要素の検索・条件チェック。
リスト — sortedBy() / sortedWith()リストのソート。
リスト — flatMap() / flatten()ネストしたリストの平坦化。
リスト — reduce() / fold()要素の畳み込み。
リスト — groupBy() / partition()グルーピングと分割。
リスト — zip() / unzip()2つのリストの組み合わせ。
リスト — forEach() / forEachIndexed()要素の反復処理。
マップ — mapOf() / mutableMapOf()マップの作成・操作。
セット — setOf() / mutableSetOf()セットの作成・集合演算。
sequenceOf() / generateSequence()遅延評価シーケンスの生成。
シーケンス — 終端操作シーケンスの結果取得。
ジェネリクス — 基本型パラメーターの定義と使用。
共変 / 反変ジェネリクスの変位指定。
reified 型パラメーター実行時に型情報を保持する仕組み。
型エイリアス / typealias型に別名を付ける構文。
try / catch / finally例外処理の基本構文。
require() / check() / error()前提条件・状態チェック。
演算子オーバーロード演算子の再定義。
@JvmStatic / @JvmFieldJava相互運用アノテーション。
suspend 関数中断可能な関数の定義。
launch / asyncコルーチンの起動。
await() / Deferred非同期結果の取得。
delay() / withTimeout()待機とタイムアウト。
Flow — 基本非同期データストリーム。
Channelコルーチン間のデータ通信。
コメント // / /* */ / /** */一行コメント・ブロックコメント・KDocコメントの3種類。ブロックコメントはネスト可、KDocはDokkaでAPIドキュメント自動生成に使う。
伝統的なforループ(インデックス走査)Kotlinにはsyntaxレベルのforがないため、範囲・downTo・step・until・indices・withIndexで同等のインデックス走査を行う。
importパッケージ・クラス・関数・プロパティを取り込むキーワード。as でエイリアス、.* でワイルドカードインポートが使える。
fun main() エントリポイントKotlinのプログラム起動点。クラス不要でトップレベルに定義し、コマンドライン引数は Array<String> で受け取る。
== / === 等価演算子== は構造的等価(equals()を呼ぶ)、=== は参照等価。null許容型との組み合わせでコンパイラが不要な比較を検出する。
演算子(算術 / 比較 / 論理 / 範囲)算術・比較・論理・範囲演算子と infix 関数の使い方。== は equals() を呼ぶ点が Java と異なる。
return / break / continue / ラベル関数の終了・ループの脱出・スキップの基本構文。ラベルで多重ループを一度に抜けたり、ラムダ内から局所的に return したりできる。
型推論初期値からコンパイラが型を自動決定する機能。初期値がある val/var では型注釈を省略できる。
while / do-while ループ条件が真である間ブロックを繰り返す構文。while は事前条件評価、do-while は事後条件評価。