【Kotlin】Lesson Vol.2 - Kotlinの文法:変数
はじめに前回は、はじめてのKotlinアプリケーションを作成しました。今回からKotlinの文法について説明していきます。以下は前回までの記事です。 第1章 はじめてのKotlinアプリケーション 1.1 開発環境の構築 1.2 Kotlinプロジェクトの作成 1.3 Kotlinプログラムの作成 第2章:Kotlinの文法2.1 変数Kotlinで変数を宣言するには、varキーワードを使用します。varは変更可能(ミュータブル)な変数です。Javaの(finalではない)通常の変数の宣言です。■2.1.2変更可能(ミュータブル)な変数:varKotlinで変数を宣言するには、varキーワードを使用します。varは変更可能(ミュータブル)な変数です。Javaの(finalではない)通常の変数の宣言です。// varは変更可能(ミュータブル)な変数var user: String = "tamito0201" // Kotlinでは文の終わりにセミコロンは不要です。■2.1.2変更不可能(イミュータブル)な変数:val定数を宣言するには、valキーワードを使用します。 valで宣言された変数は、一度初期化されると、値を変更することはできません。Javaでいうfinalと同じです(※1)。// valは変更不可能(イミュータブル)な変数val CONNECT_TIMEOUT: Int = 3000valは、変更不可にすべき変数を、プログラマが間違って変更してしまうことを防ぐ目的として使用されます。このため、変更可能な変数varを使う必要がないときは、必ずvalを使用すべきです。コードを書くときはvalを使用するクセをつけましょう。統合開発環境であるIntelliJ IDEAは、コードを分析して、varの代わりにvalを使うべきケースを検出するすぐれものです。「Variable is never modified and can be declared immutable using 'val' more...」といいうメッセージで、変数は変更されないのでimmutable(イミュータブル)なvalとして宣言すべきと提案してくれます。これを変更するには「Alt」+「Return」(Windowsの場合)を押すと、valに変更してくれます。さきほどvalは変更不可能な変数と説明しましたが、例外があります。valで宣言された変数の参照自体イミュータブル(変更不可能)ですが、それが指すオブジェクトはミュータブルになりえます。以下のようなListの場合。listが指すオブジェクトの値は変更可能です。val list = arrayListOf("promari", "programming")list.add("lesson")println(list) // [promari, programming, lesson] ※1 : Java10からはvarによる型を省略して変数宣言が可能です。2.2 型推論(type inference)Kotlinでは型推論(type inference)が可能なので、宣言時に値が代入される変数については、型を省略して変数を定義することもできます。型推論とはプログラマが型を明記しなくても代入式などから、コンパイラが文脈から推論して付くべき型を自動で推論してくれる機能です。val CONNECT_TIMEOUT = 3000のように書くこともできます。どういういうことがと申しますと、右辺はint型のデータであることが分かっているため、わざわざ変数名にIntと明示しなくても、コンパイラが自動的に型を推論してくれるのです。型推論を持っている言語は、Kotlin以外に、Haskell、ML、Vala、C#、Scala、Objective Caml、D言語などがあります。2.3 演習変数(radius)と定数(PI)を用いて円の面積を計算するプログラムを作成しましょう。おわりに実際に演習で手を動かしながら学習しましょう。もし分からなけば、調べるクセを見につけましょう。分からなければググって、それでも分からなければ、さらにググり、もう自分ではお手上げだっていう状態で初めて、質問するといった感じでしょうか。もし分からなければ、コメントやメッセージでもご質問して頂けましたらと思います。次回は、関数について説明したいと思います。プロマリはあなたのエンジニアデビューをサポートします。お知らせプログラミングスクール「プロマリ」についてプログラミングスクールプロマリを運営しているたみとです。プロマリでは他のプログラミングスクールと比べ、圧倒的なコストパフォーマンスでプログラミングレッスンを受講することが可能です。受講するコースによって以下のお値段となります。お申込みはこちらから。お問い合わせはこちらで承っております。プロマリはあなたのエンジニアデビューをサポート致します!皆様も手にスキルを持つため、プログラミングを学習してみませんか?written by たみと@プロマリ