変数とは
本ページでは変数について解説します。既に変数定義については「Kotlinの変数定義と基本的な型 」の章で解説していますが、本章では変数についてより詳しく解説していきます。
変数
プログラムを記述していると、別々の箇所で同じデータを扱うケースが出てきます。同じようなデータを何度も記述するのは非常に効率が悪く、入力ミスにもつながります。このような場合には変数を利用することで同じデータを何度も記述する必要がなくなります。
次の好きな食べ物を繰り返し質問して回答をもらうプログラムを例に、変数を使って問題の解決を図ってみましょう。
・好きな食べ物を繰り返し質問するプログラム
1 2 3 4 5 6 7 |
// 一人目に対しての質問 println("あなたは何が好きですか?") println("りんごです") //二人目に対しての質問 println("あなたは何が好きですか?") println("みかんです") |
「あなたは何が好きですか?」という文字列を繰り返し記述していることがわかります。 同じ文字列を何度も記述するのは非常に冗長な作業です。さらに、「あなたは何が好きですか?」という文言を別の言葉に変更したくなったときも、複数箇所に対して変更を行う 必要があります。このような場合に変数が活躍します。
・変数
1 |
var 変数名: 型 = 式 |
変数は、使う前にまずこのように宣言します。「型」のところには
、その変数がどのよ うなデータを格納するかを示すデータ型を記述します。文字列なら「String」、0や5といっ た整数なら「Int」とします。ただし、この型指定は省略できます。
・実際の変数の指定例
1 |
var value: String = "Hello, playground" |
・型を省略した指定例
1 |
var value = "Hello, playground" |
型が省略できるのはKotlinに型推論の機能があるおかげです。この指定例では、右辺に文字列 が指定されているために自動的に変数の型が決定されるのです。型推論は便利ですが、コンパイル速度が遅くなるデメリットもあるため利用には注意が必要です。
先ほどの「あなたは何が好きですか?」という文言を変数に格納したプログラムを考えてみましょう。変数名「str」に文字列を格納し、繰り返し利用できるようにしています。
・変数strで繰り返し利用できるように
1 2 3 4 5 6 7 8 9 10 |
// 変数の宣言 var str = "あなたは何が好きですか?" // 一人目に対しての質問 print(str) print("りんごです") // 二人目に対しての質問 print(str) print("みかんです") |
これで、質問する人数が増えたときにも、「あなたは何が好きですか?」と入力する代わりに、変数strを指定して同じ質問をすることができます。
また、変数の便利なところに、設定した値をあとから変更することができることがあります。質問を「あたなが好きな食べ物は何ですか?」と変更する場合にも、変数strの値を変更するだけで、変数strを使うすべての部分が変更されることになります。
1 2 3 4 5 |
// 変数の宣言 var str = "あなたは何が好きですか?" // 変数の値を変更 str = "あなたが好きな食べ物はなんですか?" |
あとから値を変更できる特性が、変数を理解する上で一番大事な点です。