【Kotlin入門】ifの使い方をマスターしよう!whenについても解説


Kotlinでifの使い方を知りたい
Kotlinに三項演算子はあるの?

Kotlinでifを書こうと思っても少し今までと書き方などが変わっていて、戸惑っている人はいませんか?

こんにちは!エンジニアのかいです。Kotlinをこれから始めようとしている人、もしくは始めたての人であればプログラミングの基本中の基本であるifについて上記のような悩みを抱えている人も多いのではないでしょうか?

そこで、本日はKotlin初心者の方を対象にifの基本的な使い方を説明していきます。またif以外の条件分岐としてwhenというものも紹介するのでこの記事でKotlinの条件分岐について理解していただければ幸いです。

この記事はこんな人のために書きました。

  • Kotlinをはじめたばかりなのでifの書き方がわからない
  • Kotlinで三項演算子を使いたい
  • whenの使い方についても触れてほしい

Kotlinのifとは

まずはじめに、この記事を見ている方の中には初学者の方もいると思うのでifとは何かについて軽く説明しておこうと思います。ifとは英語の意味通り「もし」を表す構文で、変数の値によって処理を変えたい時などに用いられます。

このようなある一定の条件によって処理を変えることを条件分岐といい、ifは条件分岐の代表的なものです。また、Kotlinにはwhenという強力な条件分岐も備えているのでこちらについても最後の章で説明します。

Kotlinでのifの使い方を見てみよう

さて、それでは実際に使い方をみていきましょう。

基本的な使い方

まずは、ifの基本的な使い方を解説していきます。最も基本的な使い方はこのようになります。もしcountが10より小さければHello ifを出力していますね。

このようにelseを指定すると、ifの条件に当てはまらなかった時の処理がかけます。

また、このように条件式を複数書きたい場合はelse ifでかけます。

Kotlinのifは式であることに注意

ifくらい知ってるよ!という人も多いと思いますが、ここで注意なのがKotlinのifは文でなく式として扱います。よくif文if文と呼ぶのでこの感覚がない方も多いと思いますが、Kotlinではifは文ではなく式なのです。

つまりどういうことか以下のコードを見てみてください。

わかりますでしょうか?ifは式なので値を返すことができます。例えばこの処理をJavaで書こうとJavaではifは文なので思ったら中のロジックは、以下のようになります。

Kotlinで三項演算子?

式で値を返すということは以下のようにも書けるわけですね。

あれ、この形なんかみたことあるぞ。という方はいませんか?

そうです、Kotlinでは実質三項演算子のような処理がifで実装できるのです。なので、Kotlinには三項演算子は実装されていません。それもそのはずで、三項演算子とはif文、つまり条件分岐を式として行える演算子なのでデフォルトがif式のKotlinには必要ありませんね。

例えば、値を2つ確認して大きい方を返すという関数を作る場合、

このように書く言語が多いと思いますが、Kotlinでは、以下のように書くこともできます。

(サンプルですのでnum1とnum2を同じ値入れた場合でもnum1が返るという声もあると思いますがご容赦ください)

式の中では最後に評価された値が返されるのでreturnなども書く必要はありません。一見可読性が低いように見えますが、Kotlinでは日常的に行われています。

whenで条件分岐

さて、Kotlinの条件分岐にはifの他にもう一つwhenというものがあります。whenも同じく式でとても便利で強力な条件分岐となっています。

詳しい内容は以下の記事にまとめているので気になる方はぜひ確認してみてください。

【入門】Kotlinでwhenを使いこなそう!Javaとの違いについても解説
更新日 : 2019年6月19日

まとめ

本日はKotlinのifについて詳しく解説してきました。Kotlinでifは式であるということだけ押さえておけばバッチリだと思うのでこのままどんどんKotlinの学習を進めていきましょう!

それでは!!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

かい

かい

日向徹かこよすぎか

[email protected]

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説