馬とテニスのIT革命
馬とテニスとリラックマが好きな IT 系のエンジニアです。
Kotlin

【Kotlin入門】2種類の変数と型宣言の基本パターン

Kotlin のコメントの書き方の説明をした際に、チラっと変数を使ったサンプルソース(最後のソース)も書いてみました。

あわせて読みたい
【Kotlin入門】コメントの基本パターンの書き方(3種類)以前、Kotlin で「Hello, World」を試してみました。 https://kumanotemo.com/archive...

今回は Kotlin の変数や型の宣言について紹介したいと思います。

Kotlinの変数の宣言方法

Kotlin で変数を宣言する際には val または var という単語を最初に定義します。

val
var

JavaScript(JS)でいうところの var や let と同じようなイメージですね(見た目は)

PHP や Java では変数の宣言にあたるものはないですが、Java の場合は型の宣言は必要になってきます。

Kotlin の場合は型宣言まで含めると以下のような書式になります。

val msg: String = “Hello, world!”

var msg: String = “Hello, world!”

valとvarの違いについて

先に val と var の違いについて説明します。

変数の宣言時に val と var の 2 種類の方式を紹介しました。

この 2 種類の違いは、変数の値を書き換えられるか書き換えられないかになります。

val・・・書き換えれない

var・・・書き換えれる

それじゃあ、val の方は「定数」じゃないの?って疑問に思われる方もいると思いますが、どうやら定数と呼んでいるわけではないようです。

val は Java でいう final で宣言した変数と同じですね。

この記事では val を使ってこのまま説明をしていきますが、以下の記事で var を使ったパターンを紹介しています。

良かったら参考にしてみてください。

あわせて読みたい
【Kotlin入門】文字列の中に変数を埋め込む文字テンプレート「Kotlinの2種類の変数と型宣言の基本パターンについて」の記事では、主に「Hello, world!」をサンプルとして使いました。 ...

変数の宣言書式について

次に変数の宣言書式について 1 つずつ説明していきます。

変数名

上で紹介した書式の中で「msg」が変数名になります。

予約語と被らなければ、ここは好きな名前で構いませんが用途がわかる名前が理想ですね。

今回は「Hello, world!」というメッセージを格納したかったので message(msg)としました。

書式の中で登場する「String」が型になります。

「Hello, world!」という文字列を格納したいので、変数を文字列型としています。

もし、整数を扱いたいのであれば Int や Long になります。

実は Kotlin は、イコール(=)の右側の代入される値を解釈して型を宣言しなくても良い作りになっています。

“Hello, world!” であれば文字列(String)、123 であれば整数(Int)と自動で判断してくれるのです。

よって、以下はどちらも同じことになります。

val msg: String = “Hello, world!”

val msg = “Hello, world!”

しかし、実際に型の宣言を省略するかどうかは携わるプロジェクトの規約にあわせておきましょう。

明示的に宣言しておいた方が可読性はいいので、宣言するケースが多いと予想しています。

上記で説明しましたが、”Hello, world!” が変数に代入される値になります。

文字列の場合はダブルクォーテーションで囲み、文字(Char)はシングルクォーテーションで囲みます。

整数や実数の場合はそのまま 123 や 3.14 のように書きます。

変数を使ったHelloWorld

最後に、Hello World を変数を使った方法で実行してみます。

fun main(args: Array): String {

    val msg: String = "Hello, world!"

    println(msg)
}

上記でも、同じく「Hello, world!」が出力されたと思います。

やさしいKotlin入門

プログラミング初心者または Kotlin 初心者向けの入門本。Android 開発ではなく Kotlin の言語を覚えてみたい方にオススメの入門本です。

Java と比較して説明される書籍が多い中、Java や他のプログラム言語を知らない人向けになるので、例えば Java はあまり詳しくないけど PHP や Python は書けるといったパターンとも相性がいいですよ。

created by Rinker
¥2,592
(2018/10/19 23:33:06時点 Amazon調べ-詳細)

あなたにオススメ