fbpx
  1. HOME
  2. ブログ
  3. IT技術
  4. 【第四回】KotlinとJavaの「繰り返し文」の書き方を比較してみた

【第四回】KotlinとJavaの「繰り返し文」の書き方を比較してみた

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

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

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

前回は、「Kotlinの条件分岐と範囲」を勉強してみました。

そして、今回は「Kotlinの繰り返し文」をJavaと比較しながら勉強していきたいと思います!

秋山秋山先生

基礎的なことが続いて飽きてくる頃かとは思いますが、もう少しだけ基礎勉強の記事を書こうと思います!

Kotlinのfor文(範囲)

まずは、繰り返し文からいってみましょう!

Javaでは、繰り返し文としてfor文が用意されていましたよね。

Javaで書く場合

[結果]
0回目の表示です
1回目の表示です
2回目の表示です
3回目の表示です
4回目の表示です

これをKotlinで書くとこのようになります。

Kotlinで書くと

[結果]
0回目の表示です
1回目の表示です
2回目の表示です
3回目の表示です
4回目の表示です

Kotlinでは「(変数名 in 範囲)」といった形で記述することが出来ます。

ここで気をつけておきたいのは、範囲の最後の数字も含まれるといったところです。

上記の場合は、「0..4」は「0<= i && i <=4」という意味となります。

Kotlinのfor文(指定した数だけ加算)

先ほどは1ずつ加算しましたが、1以外の数で加算する場合はどうでしょうか。

では、、「3ずつ加算」した場合の例を見ていきたいと思います。

Javaで書く場合

[結果]
0回目の表示です
3回目の表示です
6回目の表示です
9回目の表示です

と、このような感じになります。

Kotlinで書くと

[結果]
0回目の表示です
3回目の表示です
6回目の表示です
9回目の表示です

と、このように範囲の右横に「step 数値」と書くことができます。

Kotlinのfor文(指定した数だけ減算)

次に、減算の場合をご説明します。

以下のように、範囲の部分が「開始の数 downTo 終了の数」とすることで「1ずつ減算」します。

【結果】
5回目の表示です
4回目の表示です
3回目の表示です
2回目の表示です
1回目の表示です

指定した数だけ減算

1以外の減算をしたい場合は加算の時と同様に「終了の数」の右横に「step 減算したい数」と記述してください。

[結果]
10回目の表示です
7回目の表示です
4回目の表示です
1回目の表示です

Kotlinの配列

次に、配列について見ていきます。

まずは、Javaのboolean型、int型、double型、String型の例から見ていきたいと思います!

Javaで書く場合

他にもいろんな型がありますがひとまずはこんなところで。

これらをKotlinで表すと以下のようになります。

Kotlinで書く場合

基本的にboolean型や数値型に関しては「型名ArrayOf」の形式で書くことになります。

それ以外は「arrayOf」を使用する感じです。

また、以下のようにint型で枠の数だけ準備する場合は、このように書きます。

Javaで書いた場合

Kotlinで書く場合

また、String型の場合は、以下のように「arrayOfNulls<型名>(数)」となります。

Javaで書いた場合

Kotlinで書く場合

nullが初期値となりますので、そのあとの変数はnullが許容できるようにしていきましょう。

KotlinのList

次に、Listについて解説していきます。

それでは、String型を格納していくListを見ていきます!

Javaで書く場合

[結果]
test1
test2
test3
test4

これをKotlinで表現すると以下のような形になります。

kotlinには、後から変更が出来ない「List」と、後から変更が出来る「MutableList」があります。

Kotlinで書いた場合

[結果]
test1
test2
test3

Listの場合、後から値を追加したり変更することが出来ません

MutableList

続いてMutableListを見ていきます。

[結果]
test5
test6
test7
test8

MutableListでは後から追加や変更が出来ます。

こちらのほうがJavaのListの感覚に近いですね。

  1. 変更が無いデータは、List型を使う
  2. 変更があるデータは、MutableList型を使う

このように使い分けていきましょう。

KotlinのMap

続いてMapについて解説します!

まずは、JavaでのMapの使い方を見ていきたいと思います。

Javaで書く場合

[結果]
key = four : value = test4
key = two : value = 2nd
key = one : value = 1st
key = three : value = 3rd
※取り出される順番は決まっていない

次に、同様の処理をKotlinで記述します。

Map型もList型と同様に後から変更が出来ない「Map」と、後から変更が出来る「MutableMap」があります。

また、Mapのデータを取得する例として、「for ((キーの変数名, 値の変数名) in map変数名)」の繰り返し文を利用してみたいと思います。

Kotlinで書いた場合

[結果]
key = one : value = 1st
key = two : value = 2nd
key = three : value = 3rd

※取り出される順番は決まっていない

初期値を入れる場合は「(キー1) to (値1), (キー2) to (値2), …」といった形になります。

こちらも初期値として入れたデータ以降、変更は出来ないようになっています。

後から変更が出来る「MutableMap」

Mapの中身を変更出来るようにしたい時は「MutableMap」を使用します。

[結果]
key = one : value = 1st
key = two : value = 2nd
key = three : value = 3rd
key = four : value = test4

//※取り出される順番は決まっていない

Javaを使ってた私としては、こっちのほうが自然で使いやすそうかなと感じました。

とはいえ、Listと同様に必要に応じて使い分けていければベストですね!。

秋山秋山先生
さて、これまでは、勉強編として「変数」「条件分岐」「範囲」「繰り返し文」についてJavaとkotlinの比較をしながら紹介していきました!
ミツオカミツオカ
とっても勉強になりました~!
秋山秋山先生
それでは、次の回からは実際にアプリ実装をしていきたいと思います!
ミツオカミツオカ
ついにアプリ実装編に!次回もお楽しみに!

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

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

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

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

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

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

採用情報はこちら

書いた人はこんな人

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

関連記事