変数の宣言、main()関数

 18.10.13

今思いついたのですが、「Kotlinプログラミング言語に関するリファレンス」 ができるのは、
おそらくだいぶ先になりそうです。
だったら、「今現在、参照など見なくても覚えていること」 は、もう書いていこう、、と思ったのでした。
何故なら、いま覚えていても、しばらくしたら忘れてしまう可能性もあるし、
今書いておけば、体系立ててリファレンスを書く時の参考にしたり、反省材料にしたりできると
思うので、これはいけてる方法だと思ったので、忘れないうちにとりあえず、一つだけ作ることにしました。
とは言え、いま私が、記憶のみで書けるものと言ったら、
 変数の宣言方法
 main()関数
ぐらいしかないのですが、今やっておかないと、このアイデアを忘れそうなので、とりあえず書いてみます。


変数の宣言
 val(または、var)変数名 : 変数の型 = 変数の値
ということなのですが、そもそも、変数とは何なのか?
いざ説明するとなると、難しいのですが、
一つには、
 値 をプログラム中のいろんな場面で、簡単に扱える方法 と言えばいいのでしょうか、
つまり、
 長い名前、複雑な構造を持った値、変化する値 を扱いたい場合、、
こんな時、「変数というラベルを貼り付けておくと」 値 の扱いが便利で楽になります。
例えば、ここは一つだけ例を挙げさせていただきますが、
 12738735
こんな数字があったとして、この数字を、プログラムの中で、
何回も表示させる必要があったとします。
この値自体 のことを、「数値リテラル」 といいますが、
これを毎回、書くというのは、大変だとは思いませんか?
こんな時、
 val x: Int = 12738735
  ( val/変数ですよ x/変数名 : Int/値 には 型 があります = 12738735 )
とすれば、
 x
だけで、この値を、代用することができるようになるのです。
また、ここでは、val を使いましたが、
「val」 を使った場合、値を変えることができません

ここで、val ではなく、var を使うことがあります。
この時は、値を変更することができます
例えば、「1回目、2回目、3回目、4回目 ・・・」
などと、数値を増やしていきたい時などに使います。

こんな説明になりますが、リファレンスは、
「パソコン初心者以上、プログラム経験者以下」 の方も対象に書いていこうと思っていますので、
まだ今ひとつわかりにくい気がしますが、
もっとわかりやすく書けるようにしていきたいとは思っています。がんばります!
あと、ここで、多くの場合、「値 の 型/タイプ」 を、省略することができます。
これは、決して、型 をきっちり決めない、、ということではありません!
明らかに、変数に代入する値 の 型/タイプ が明確であるときに限って、省略できるわけですので、
型 が、省略されていても、きっちりとした 型 は、存在するのです!
例えば、
 val x = 10
とした時、x は、Int型 と、はっきり決まっています。
この時、もし、変数y を、Byte型 にしたい時は、
 val y: Byte = 10
と書かなければなりません!(この時は、型は、省略できません) おっと、型/タイプ の説明は、しておりませんでした。
遠からず、近からず、説明しますので、待っていてください。


main()関数
今度は、main()関数 について、書いてみますが、
ここでも、「関数」などの説明は、省かせていただきます。
ご了承願います。
main()関数 は、こんな風になります。
最初見た時は、私は、
 Array<String>
すら、知らなかったので(Java1.4までしか知りませんです)、
このコードを、イメージにすると、

 f.. main(●▶A☆!Ξ) {
  ・・・
 }

と、おおざっぱに言うと、こんな感じでした。
ただ、「やさしいKotlin入門」 の、サンプルコードを、書くたびに、
これを書く必要があり、いまでは、こんな感じになりました。
なんだぁ~、こんなの、簡単じゃないか。
単に、

 fun main(引数) { ~ }

たったこれだけの話で、ほぼ、暗記する必要すらないな!
な、感じに変わったのでした。

どうして、こんな風に印象が変わったのでしょうか?
思うに、わけもわからないまま書いていたのですが、
何回も書いて、暗記した時点で、「脳の負担が減って」
考えるゆとりができ、また、Array<String>(文字列の配列型)も、理解できるようになると、
もう、ほぼ、暗記の必要はなくなりました。
何が言いたいのかというと、
 コードを書いて(タイプして)覚えることの大事さ
が、言いたいのですが、「暗記した時点で、はじめて、コードを考えるゆとりができた」
ということです。
コードを、覚えていないうちは、
正確に書くことが精いっぱいだということです。
考えるゆとりなどありません!
たとえ、「意味があまり分からなくても、書けるようになっていれば」 考えるゆとりが生まれます。
わたしは、これは、結構大事なことだと思うのですが。

今日は、これで終わります。
また、当分は、自分または、少しわかる人のための、ブログになると思いますが、
少しずつ、入門者にもわかるように書いていこうと思っています。
また、型 や、関数 などについても、もっと理解が深まったら、今日書いたような形で書いていこうと思っています。
よろしくお願いします。