1. HOME
  2. ブログ
  3. IT技術
  4. 【第二回】KotlinとJavaの変数の扱いを比較してみた

【第二回】KotlinとJavaの変数の扱いを比較してみた

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

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

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

さて、前回は『Kotlinとはどういったものか』『どんなことを勉強していくのか』をお話ししました。

そして、今回からは本格的にKotlinに触れていきたいと思います!

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

Kotlinでの変数の扱いについて

まずは、プログラミングの基本中の基本である、変数の扱いから始めたいと思います。

早速いってみましょう!

Javaの場合

Javaでは、文字列や数字を扱う時、このように記述しますよね?

[結果]
abc
123
20.5
true

Kotlinの場合

それでは、Kotlinでは、一体どのように書けるでしょうか?

[結果] (Javaの時と同じ結果になります)
abc
123
20.5
true

Kotlinでは、「val 変数名: 型 = 値」といった形で書くことができます。

この時、行の末尾に「;」は不要になります。

ちなみに、コンソール表示の記述は、Kotlinでは「println(値)」と書くことが出来ます。

1行で記述することも可能

そして、下記のように複数の命令文を「;」で区切れば、1行で記述することも可能です。

秋山秋山さん
ですが、あまりこういった書き方はしないと思うので、頭の片隅に置いていただければ!

Kotlinでのvalとvarの違い

kotlinでは、「val」の代わりに「var」でも表現できるのです。

では、「val」と「var」の違いを見ていきましょう。

「val」は中身を変更できない

「val」で定義した場合、それ以降中身は変更出来ません

変数というよりも、下記Javaの、定数のような扱いということができます。

ですので、以下のように「val」で定義した場合は途中で変数の中身を変更することは出来ないと覚えておいてください。

「var」は中身を変更できる

逆に、「var」で定義した場合は、以下のようにその後も変数の中身を変更出来ます。

ぱっと見、「val」と「var」って似ているので最初は迷うかもしれません。

似ていますが、全然性質が違いますので、用途に合わせて使い分けていきましょう。

秋山秋山さん
3文字目の「l」が一本道に見えるので定数「r」は先端が分岐しているように見えるので変数といったイメージで覚えましょう!(笑)
ミツオカミツオカ
ちなみに
「val」は「value」の略
「var」は「variable」の略

型推論

さて、先ほどの表記ですが、実は、さらに簡単に書くことが出来ます。

Kotlinは型を指定しなくても良い

なんと、Kotlinの場合、型を指定しなくても「型推論」という機能によって内部で判断してくれます。

数値の場合、桁数や小数点の有無によって表現の仕方が変わりますが、以下のようにスッキリ書くことが出来ます。

秋山秋山さん
ただ、色々な数値を扱って分かりづらくなるようであれば、下手に省略しないで型を明示的に記述しても良いと思います!

文字の連結

次は、文字の連結についてです。

文章を表示する時に、変数の結果を連結して表示することは、まあよくありますよね。

では、簡単な例をJavaで表示してみたいとおもいます。

Javaの場合

これですね。

では、同じ内容を、Kotlinで記述するとどうなるでしょうか?

Kotlinの場合

基本的には、Javaと同様の書き方が出来ます。

でも、Kotlinでは、以下のようにも書き換えることができるのです!

文字列の「””(ダブルクオーテーション)」の中でも「${変数}」と記述すれば変数の前後を「+」で連結しなくても表記出来るので大変便利です!

秋山秋山さん
「+」で連結する場合は、こんな注意点があります!
ミツオカミツオカ
1.スペースを空けないといけない
2.文章によっては混乱しやすくなってしまう
秋山秋山さん
そのため、基本的に${変数} を使用するのが良さそうだと感じています!

nullの扱い

Kotlinでは、String型の変数に「null」を入れたい場合、どうすればいいのでしょうか?

では、例をあげて説明していきます。

Javaの場合

これは、よくJavaで見かける書き方だと思います。

では、Kotlinではどのように書くでしょうか?

Kotlinの場合

Javaの感覚を引きづったまま、「null」を入れようとすると、エラーになります。

この場合の解決方法としては、型の末尾に「?」を付けることによってnullを許容することになります。

ただ、ここでnullを許容したとしてもこの後に続く処理等で問題が起きるかもしれません…

さいごに

さいごに、ちょっと怖いことを書いて終わりにしました(笑)

長くなってしまうため、「null」についてはこの辺までとさせていただきます。

実際の処理で起こりそうな細かいことは、今後の記事で書いていきたいと思います!

今回は、変数の扱いで主なものをザッとまとめてみました。

ありがとうございました!

秋山秋山さん
足りないものもありますが、都度新しい記事でご紹介していきます!

ライトコードよりお知らせ

にゃんこ師匠にゃんこ師匠
システム開発のご相談やご依頼はこちら
ミツオカミツオカ
ライトコードの採用募集はこちら
にゃんこ師匠にゃんこ師匠
社長と一杯飲みながらお話してみたい方はこちら
ミツオカミツオカ
フリーランスエンジニア様の募集はこちら
にゃんこ師匠にゃんこ師匠
その他、お問い合わせはこちら
ミツオカミツオカ
   
お気軽にお問い合わせください!せっかくなので、別の記事もぜひ読んでいって下さいね!

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

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

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

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

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

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

採用情報はこちら

書いた人はこんな人

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

関連記事