Kotlinをはじめよう
Kotlinのコードを動かしながら、プログラムの骨格と、コンパイルして実行するという仕組みを学びましょう。
- 基本文法
- コンパイルと実行
学習内容をみる (7演習)
変数と型 プラス
変更できない val と変更できる var、型推論と Kotlin の基本的な型について学びましょう。
- 変数
- データ型
- 型推論
文字列を扱おう プラス
文字列テンプレートで読みやすく文字を組み立て、文字列を切り出す・比べる・置き換える方法を身につけます。
- 文字列
- 文字列テンプレート
null を安全に扱おう プラス
Kotlin が誇る null 安全性。null を許す型と許さない型、安全呼び出し・エルビス演算子・スマートキャストを学びましょう。
- null安全
- スマートキャスト
条件分岐 プラス
値を返す if 式と、Java の switch を置き換える強力な when を学びましょう。
- 条件分岐
- when式
繰り返し プラス
範囲を回る for-in、while、repeat、ラベル付きの break/continue を学びましょう。
- 繰り返し処理
- 範囲
関数の基本 プラス
関数の定義と呼び出し、戻り値のない関数・単一式関数・デフォルト引数・名前付き引数について学びましょう。
- 関数
- 名前付き引数
学習内容をみる (5演習)
関数を使いこなそう プラス
可変長引数 vararg、オーバーロード、ローカル関数、早期リターンを学び、関数を組み合わせて使いこなしましょう。
- 関数
学習内容をみる (5演習)
入力と複数ファイル プラス
標準入力を安全にパースする方法と、処理を複数のファイルに分けて書く方法を学びましょう。
- 標準入力
- トップレベル関数
注文集計プログラム 道場 プラス
これまでに学んだ知識を使って、入力を検証しながら集計するプログラムを作りましょう。
- 総合演習
- 集計
学習内容をみる (1演習)
コレクションの基本 プラス
List・Set・Map の作り方と、読み取り専用と可変の型の区別について学びましょう。
- コレクション
- List
- Map
ラムダとコレクション操作 プラス
ラムダ式を使って、map・filter・forEach などでコレクションを自在に加工する方法を学びましょう。
- ラムダ式
- コレクション操作
集計と変換の操作 プラス
sumOf・sortedBy・groupBy・associate など、集計や変換に使うコレクション操作を学びましょう。
- 集計
- groupBy
高階関数とスコープ関数 プラス
関数を受け取る・返す高階関数と、let・run・apply・also・with の使い分けを学びましょう。
- 高階関数
- スコープ関数
シーケンスと遅延評価 プラス
asSequence で遅く評価される処理の流れと、いつ使うと速いのかを学びましょう。
- Sequence
- 遅延評価
注文レポートツール 道場 プラス
コレクション操作を組み合わせて、注文・売上データを集計・絞り込み・整形するプログラムを作りましょう。
- 総合演習
- 集計
学習内容をみる (1演習)
クラスとプロパティ プラス
プライマリコンストラクタ・init・プロパティとカスタムアクセサで、Kotlin らしいクラスを定義する方法を学びましょう。
- クラス
- プロパティ
data class と値オブジェクト プラス
等値・文字列化・コピーが自動で手に入る data class と、値オブジェクトの設計を学びましょう。
- data class
- 値オブジェクト
object と companion プラス
1 つだけのインスタンスを作る object と、クラスに付随する companion object・const・ファクトリを学びましょう。
- object
- companion object
カプセル化と契約 プラス
private 設計・require/check・不変条件の守り方と、lateinit/by lazy の紹介を学びましょう。
- カプセル化
- require/check
継承とポリモーフィズム プラス
open/override による継承、抽象クラス、is チェックとスマートキャストについて学びましょう。
- 継承
- スマートキャスト
interface と委譲 プラス
複数の型に共通の振る舞いを持たせる interface と、by 委譲の読み方を学びましょう。
- interface
- 委譲
enum と sealed class プラス
enum class と sealed class/interface で状態や結果を型で表し、when の網羅チェックを活かす方法を学びましょう。
- enum
- sealed class
ジェネリクス プラス
型を引数に取るジェネリック関数・クラスと、out/in による変位の読み方を学びましょう。
- ジェネリクス
- 変位
拡張関数と Kotlin 流儀 プラス
既存の型に自分の関数を生やす拡張関数・拡張プロパティと、infix・DSL の入り口を学びましょう。
- 拡張関数
- DSL入門
例外と Result プラス
try/catch/finally・try が式・カスタム例外・use・runCatching/Result と、検査例外がない Kotlin の思想を学びましょう。
- 例外処理
- Result
ファイルと日付 プラス
ファイルの読み書き・useLines/forEachLine と java.time の日付・時刻の扱い方を学びましょう。
- ファイル入出力
- java.time
テストを書こう プラス
書いたコードが正しいかをコードで確かめる自動テスト。kotlin.test/JUnit5 の書き方と失敗から実装を直す進め方を学びましょう。
- kotlin.test
- 自動テスト
コルーチン入門 プラス
suspend 関数・runBlocking・launch・delay で、スレッドより軽い Kotlin の非同期処理の入り口を体験しましょう。
- コルーチン
- 非同期
ミニ注文管理システム 道場 プラス
ファイルから注文データを読み、ドメインに変換・検証・状態遷移・集計・テストまで通したミニ注文管理システムのコアを組み上げ、Kotlin のこの先の地図を得ましょう。
- 総合演習
- ドメイン設計
学習内容をみる (1演習)
よくある質問
- Kotlinとは何ですか?
- Javaと同じJVM上で動く、現代的なプログラミング言語です。null安全やデータクラス、コルーチンを標準で備えており、サーバーサイドのAPIや業務システム、Androidアプリなど幅広い分野で採用されています。
- プログラミング未経験でも学べますか?
- はい、学べます。コードを1行書いて動かすところから始め、スライドと図解で1つずつ解説しながら進めるため、プログラミングが初めての方でも安心して学習できます。
- Android開発は学べますか?
- このコースでは言語そのものとサーバーサイドのユースケースを中心に学び、Android固有の内容は扱いません。Android開発は別コースで学ぶ想定です。
- 「道場編」とは何ですか?
- 学習編で身につけた知識を使って、少ないヒントで自分の力でプログラムを組み立てるレッスンです。答えを見ながら書く段階から、自分で考えて書く段階へ進むために用意しています。
- このコースを修了すると何ができるようになりますか?
- 変数、条件分岐、繰り返し、関数、クラス、継承といったKotlinの基本に加えて、null安全な設計、コレクションでデータをまとめて扱うこと、例外処理でエラーに備えること、kotlin.testでテストを書くこと、コルーチンの基礎までができるようになります。注文管理や集計といったバックエンドの題材で練習するため、サーバーサイド開発への橋渡しにもなります。