Kotlinのwhen式で条件処理分岐を実行する方法【初心者向け】
初心者向けにKotlinのwhen式の使い方について解説しています。Kotlinの条件分岐のひとつwhen文についてif文との違いや基本構文、使用例について見ていきましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Kotlinのwhen式の使い方について解説します。
これからKotlinを学ぼうと考えている方はぜひチェックしておきましょう。
本記事はTechAcademyのAndroidアプリ開発オンラインブートキャンプの内容をもとに解説しています。
今回は、Androidアプリ開発に関する内容だね!
どういう内容でしょうか?
Kotlinのwhen式の使い方について詳しく説明していくね!
お願いします!
Kotlinのwhen式とは
Kotlinのwhen式とはプログラムの流れを制御する命令の1つで、条件による処理の分岐を行います。同じく条件による処理の分岐を行う if 文と比較して、より多くの条件で処理を分岐させるのに向いています。
なお、Java言語で同等な命令として switch 文がありますが、when 式は
- caseを書かない
- break文を書かなくても良い
- 数値以外も扱える
- 式の結果として値を返すことができる
などの違いがあります。
when式の使い方
when式の使い方は以下の通りです。1つ目は引数を評価する書き方です。
when(引数) { 値1 -> 処理 値2 -> 処理 else -> 処理 }
2つ目は引数を書かずに、条件を評価する書き方です。
when { 条件1 -> 処理 条件2 -> 処理 else -> 処理 }
なお、whenは式なので、値を返すことができます。その場合は、各処理の結果がwhen式の結果として返ります。
val x = when { 条件1 -> 処理 条件2 -> 処理 else -> 処理 }
実際に書いてみよう
今回のサンプルプログラムでは、when式の使い方の例をいくつか確認します。実行は Kotlin の公式サイトの Playground を利用します。なお、 Playgroundでは、fun main() { … } の中にプログラムを記述します。
引数を評価する書き方
val x = "a" when(x) { "a" -> println("xはaです") "b" -> println("xはbです") "c" -> println("xはcです") else -> println("xはa,b,cではありません") }
実行結果は以下の通りです。
xはaです
条件を評価する書き方
val x = "d" when { x == "a" -> println("xはaです") x == "b" -> println("xはbです") x == "c" -> println("xはcです") else -> println("xはa,b,cではありません") }
実行結果は以下の通りです。
xはa,b,cではありません
値を返す書き方
val x = "b" val msg = when { x == "a" -> "xはaです" x == "b" -> "xはbです" x == "c" -> "xはcです" else -> "xはa,b,cではありません" } println(msg)
実行結果は以下の通りです。
xはbです
when式を使うと、複雑な処理の流れを見通しよく簡潔に記述することができます。if文の分岐が多くなった場合など、使ってみると良いでしょう。
この記事を監修してくれた方
太田和樹(おおたかずき) 普段は主に、Web系アプリケーション開発のプロジェクトマネージャーとプログラミング講師を行っている。守備範囲はフロントエンド、モバイル、サーバサイド、データサイエンティストと幅広い。その幅広い知見を生かして、複数の領域を組み合わせた新しい提案をするのが得意。 開発実績:画像認識技術を活用した駐車場混雑状況把握(実証実験)、音声認識を活用したヘルプデスク支援システム、Pepperを遠隔操作するアプリの開発、大規模基幹系システムの開発・導入マネジメント 地方在住。仕事のほとんどをリモートオフィスで行う。通勤で消耗する代わりに趣味のDIYや家庭菜園、家族との時間を楽しんでいる。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
他にもAndroidアプリ開発の教科書 なんちゃって開発者にならないための実践ハンズオンの書籍レビュー記事も合わせてご覧ください。
TechAcademyでは、初心者でもオリジナルアプリが作れるAndroidアプリ開発講座(オンラインブートキャンプ)を開催しています。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルアプリを開発することが可能です。