fbpx
  1. HOME
  2. ブログ
  3. IT技術
  4. 【第三回】KotlinとJavaの「条件分岐と範囲」の書き方を比較してみた

【第三回】KotlinとJavaの「条件分岐と範囲」の書き方を比較してみた

【第3回目】JavaからKotlinへ変えていくためのお勉強

(株)ライトコードの秋山(あきやま)です!

Androidアプリ開発していくにあたり「JavaからKotlinへ変えていくためのお勉強」という記事を連載をしています。

さて、前回は、「Kotlinの変数の扱い方」を勉強してみました。

そして、今回は「Kotlinの条件分岐と範囲」をJavaと比較しながら勉強していきたいと思います!

秋山秋山さん
Java経験者の僕が、初歩からKotlinを解説していきますので、一緒に勉強していきましょう!

条件分岐と範囲

今回は、条件分岐と範囲について解説していきます!

それでは、簡単な「if文」から見ていくことにしましょう!

Javaの場合

「200以下」「200より上」かを判定する簡単なif文を作ってみました。

Javaで書くと以下の通りとなります。

[結果]
123は、200以下です

Kotlinの場合

同様の文をKotrinで書く場合はこのようになります。

[結果]
123は、200以下です

判定自体は変わりませんね。

Javaの場合

上の条件を「0以上かつ200以下である」といった条件に切り替えてみたいと思います。

Kotlinの場合

Kotlinに置き換えるとこんな感じで書くことができます。

整数の範囲:IntRange型

上記のKotlinのコードの条件式の

この部分は、Kotlinでは、以下のようにも記述することが出来ます。

『比較する値 in 最小値..最大値』という式となります。

IntRange型

このように整数の「最小値 <= X <= 最大値」といった範囲の表現は「最小値..最大値」という形で表すことができます。

これは「IntRange型」と呼ばれます。

これを踏まえると先ほどの記述は、以下のようにあらわすことができます。

秋山秋山さん
Javaの時は比較する値(num)を2回使わないと表現出来ませんでしたが、Kotlinでは1回で済むので簡潔に書けるようになりました!
ミツオカミツオカ
おお~!さすがKotlin~!

文字の範囲:CharRange型

また、整数だけではなく、文字の範囲を判定するものもあります。

文字の範囲は「CharRange型」というのが用意されています。

[結果]
DはBからFの範囲内です

大文字と小文字

また、大文字と小文字は区別されます。

[結果]
dは、BからFの範囲外です

ひらがな

英字だけでなく、ひらがなでも範囲を判定することが出来ます。

[結果]
「え」は、「あ行」です

秋山“>秋山さん
こちらは文字列の入力チェックなどにも使えそうですね
ミツオカミツオカ
ほ~!色々使えそう!

if文の戻り値

if文の使い方によっては、判定後の結果を次の処理に使いたい時があるかと思います。

まずは、Javaでの例を見てみましょう。

Javaの場合

[結果]
123は0と200の範囲内です

if文の箇所では、判定結果をあらかじめ用意していた変数に入れるだけにし、その後の処理でその変数を表示する、といった流れです。

これをKotlinで書くとどうなるか見ていきましょう!

Kotlinの場合

[結果]
123は0と200の範囲内です

Kotlinでは、上記のように、if文を式として扱うことができます。

また、通った方のブロック内の最後の値が戻り値として渡されます。

最後の値というのは、上記のようにブロック内にいろんな処理があったとしても、戻されるのは一番最後の「”${num}は0と200の範囲内です”」の部分が戻り値となります。

実際に、上記のような記述はあまり意味の無い感じですが、処理の流れとして見てください。

秋山秋山さん
Javaのように事前に変数を準備してエラーが起きないように初期値設定して・・・ということが無く、受け取ったタイミングで変数の宣言をして戻り値を最初に設定するので、こちらも記述がJavaと比べて簡潔になります
ミツオカミツオカ
わりとこういった、変数内の結果を次に使用することはあるので、しっかりと覚えておきましょう!

whenの扱い方

Kotlinには、条件判断として「when」というものがあります。

まずは、簡単な例を見てみましょう!

Kotlinの「when」について

[結果]
さん

また、判定の値を「,」で区切ることによって

[結果]
さん、または、し

(num == 3 || num == 4)のようなor判定が出来ます。

上記は「when」の右横に引数(num)を準備しましたが、以下のように「when」の右横に引数を置かずに、各判定箇所にそれぞれの判定式を置く書き方もあります。

[結果]
さん、または、し

また、「when」も「if」と同様に式として扱うことが出来るので、下記のような書き方も出来ます。

[結果]
さん、または、し

秋山秋山さん
やりたい処理によって「if」「when」を使い分けて記述していきたいですね
ミツオカミツオカ
勉強になります~!
秋山秋山さん
それでは、KotlinとJavaの「条件分岐と範囲」の比較のお勉強を終わります!
ミツオカミツオカ
次回も続きま~す!お楽しみに!

一緒に働いてくれる仲間を募集しております!

ライトコードでは、仲間を募集しております!

当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。

また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!

なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。

ライトコードでは一緒に働いていただける方を募集しております!

採用情報はこちら

書いた人はこんな人

秋山 (社員)
元ファストフード店長代理のJava系ITエンジニア。
Webサイト系の開発や運用をいくらか経験し、
現在はAndroidアプリ開発を主に担当したり。
休みの日はゲームとか風景写真撮りに行ったりとかマラソンしたりとか。

関連記事