未経験OK!最速Kotlin&androidアプリ開発入門その3 変数とは①

目次

  1. 背景
  2. 変数とは
  3. 変数の使い方
    1. 変数にデータを入れる
    2. 変数名のルール
    3. 変数のデータを使う
  4. 変数を使う理由
  5. まとめ
  6. 関連記事

背景

こんにちは。 かりんとうマニア(@karintozuki)です。

今日はプログラミングの超大事な概念、変数を勉強します。
ちょっと言葉が難しくなってきますが、
考え方自体はそんなことないので、ビビらずにいきましょう!

この入門の記事一覧はこちらです。
未経験OK!最速Kotlin&androidアプリ開発入門

変数とは

変数とはなんでしょうか。

名前がちょっと小難しいので数学嫌いな人がここでつまづく、
ということを聞いたことがあります汗。
ですが、考え方は大したことありません。

とりあえずは、
変数とはデータを保存することができるもの、
ということで覚えておいてもらえれば良いです。

これからの講座では

  • どうやってデータを変数に保存するのか
  • なんでデータを変数に保存するといいのか
  • どんなデータを入れることができるのか

などなど二回にわたってじっくり説明していきます。
(今回はその一回目ですね)

さて、ここからは実践も交えて覚えていきます。
前回も使ったKotlin Playgroundを開いてください。

変数の使い方

変数にデータを入れる

変数はデータを保存することができる、と勉強しました。

なので、変数を使うときはまずはじめに
値(変数の中身に入れるデータのことです)を入れなければいけません。

変数に値を入れるにはこんな書き方をします。
ぜひ自分の手で以下のコードを打ち込んでみてください。
(前回までのコードは一度全部消してからこのコードを打って下さい。)

変数とは①
1
2
3
fun main() {
var hensu = 1
}

この一行に注目して下さい。

1
var hensu = 1

この一行が変数にデータを保存しているところです。

varというのは英語で変数を意味するvariableの略です。
このvarが、これから変数を宣言するぞ、という意味になります。
(ちなみに変数は「作る」ではなく「宣言する」ということが多いです。)

hensuというのは変数の名前です。

今回はローマ字でhensuという名前をつけました。
変数には好きな名前をつけられます。
(好きな名前と言っても少しはルールがあるので、後述します。)

まとめるとvar hensuという部分では
hensuという名前の変数を宣言しますよー!ということを言っています。

つづいて、= 1です。
=は代入を意味します。
代入とは変数の中身に値を入れることです。
この= 1は数字の1を代入する、ということを意味しています。

まとめると、

1
var hensu = 1

この一行で、hensuという名前の変数を宣言して、
中身に1を代入する、ということをしています。

それでは問題です。

問題
先ほどのコードに
hensu2という名前の変数も宣言して、数字の2を代入する
処理を追加してください。

できましたか?

答えはこんな感じです。

変数とは①
1
2
3
4
fun main() {
var hensu = 1
var hensu2 = 2
}

これができれば変数の宣言と代入の第一歩は完璧です!

変数名のルール

変数にはどんな名前をつけてもいいのでしょうか?

一応ルールがあって、こんな感じです。

  • 一文字目はアルファベットかアンダーバー(_)を使う
  • 一文字目以降はアルファベット、アンダーバー(_)、数字を使う
  • 予約語は使えない

予約語というのはその名の通り、予約されてしまっている言葉です。

例えば先ほどのvarというのは変数を宣言するぞ、という意味の言葉として
予約されてしまっているので、varという名前の変数を宣言することはできません。

他にもいくつかの言葉が予約語になっているので、
下のリストにまとめます。

今はまだ分からないかもしれませんが、
この入門の中でいつか出会うことになると思いますので、
楽しみにしていてください。

  • as
  • break
  • class
  • continue
  • do
  • else
  • false
  • for
  • fun
  • if
  • in
  • interface
  • is
  • null
  • object
  • package
  • return
  • super
  • this
  • throw
  • true
  • try
  • typealias
  • typeof
  • val
  • var
  • when
  • while

変数のデータを使う

変数に値を代入して、保存することはできました。
では、そのデータを使うときは一体どうしたらいいのでしょうか。

それを説明するために前回使ったprintln()で、
今回宣言したhensuを表示させてみましょう。

先ほどのコードにprintln()を追加してみてください。

変数とは①
1
2
3
4
5
fun main() {
var hensu = 1
var hensu2 = 2
println(hensu)
}

1という結果が表示されたでしょうか。

そうです。
変数を使うときは、単純に変数の名前を書くだけで良いです。
簡単ですね。

では、次の問題も解いてみてください。

問題
先ほどのプログラムに
printlnを使って、hensu2の中身を表示する処理を追加してください。

答えはこうなります。

変数とは①
1
2
3
4
5
6
fun main() {
var hensu = 1
var hensu2 = 2
println(hensu)
println(hensu2)
}

実行結果はこんな感じになると思います。

見事にhensu, hensu2の中身である、
12が表示されていますね。

変数を使う理由

ところで、なんで変数を使うのでしょうか。

先ほどの例だと、
変数を使わないでそのまま1とか2を表示した方が早そうですよね?

ただ、実際にプログラミングをするときには、
変数の中身がもっと複雑なものになることがあります。

その際に、その複雑な中身のデータそのままを
コードとして書き続けるのは大変ですよね?

例えばですが、
円周率10桁までを10回表示させたいプログラムがあったとします。
(実際にはそんなことをするプログラムに意味は全くないのですが、例としてお考えください。)
変数を使わない場合、こんな感じです。

変数とは①
1
2
3
4
5
6
7
8
9
10
11
12
fun main() {
println(3.1515926535)
println(3.1515926535)
println(3.1515926535)
println(3.1515926535)
println(3.1515926535)
println(3.1515926535)
println(3.1515926535)
println(3.1515926535)
println(3.1515926535)
println(3.1515926535)
}

まず、こんなコードを打ち込むのが大変ですよね。

そして、なんということでしょう。
円周率の小数点以下2桁目が間違っています!

これを直すには3.15→3.14に直す作業を10回しないといけないです。

変数を使うと、こんな感じになります。
円周率を何度も打ち込む手間が省けますし、
もし円周率が間違っていたときは一箇所を直すだけで修正が済みますね。

変数とは①
1
2
3
4
5
6
7
8
9
10
11
12
13
fun main() {
var pi = 3.1415926535
println(pi)
println(pi)
println(pi)
println(pi)
println(pi)
println(pi)
println(pi)
println(pi)
println(pi)
println(pi)
}

変数を使うことで、
変数の中身そのものはあまり気にせず、
変数がどんな意味の値だったかだけを意識して
プログラミングをすることができるんですね。

この例では3.141…という数字をいちいち覚えていなくても、
piという変数が円周率であるということだけ覚えていればプログラムがかけるというわけです。

と、まあ割と概念的な話になってしまいました。

この時点でいまいちピンと来なくても学習を進めるうちにふと分かることもあります。
もしよく分からなかったら、また少し進んだあとで戻ってきてみてください。

まとめ

今回は変数を学びました。
難しかったですか?簡単でしたか?

いずれにせよ、今回はただ数字を入れただけなので、
あまり面白くなかったかもしれません笑

次回は変数に、
プログラムに計算させた結果とかメッセージとか
もっと意味あるデータをぶち込んでいこうと思います。

お楽しみに!

それじゃ今日はこの辺で。

関連記事

この入門の記事一覧はこちらです。
未経験OK!最速Kotlin&androidアプリ開発入門