【Kotlin で変数を作成して使用する】を学ぶ②
3. 変数を定義して使用する

まさに、以前学習した関数と同じような感じですね。
関数を定義する場合、fun 〇〇(関数名) という宣言のコードを記述しましたが、変数はどのように定義するんだろうか。


なんだか話が難しいですね。実際に動作を確認してみましょうか。


実行↓
![]()
うまく動作したようです。以前学習した関数のコード、
fun main() {
println()
}
はそのままで、関数本体の中に
val count: Int = 2
というコードが追加されました。変数定義ではvalと記述し、そのすぐ後ろにあるcountは変数名ということですね。
:を挟んで、変数のデータ型を指定。Intということは整数の値を格納する箱。
printlnの括弧の中には変数名、countがきています。


何となく合ってますね。次は更に長い説明になります。

変数名は自由に付けられると。では変えてみようか。

実行
![]()
うまくいきました~。関数の時はエラーが起こったけど、変数の名前を付けるときは結構ルールが緩めなのかも。ただ、関数名の名前を付けるときのように、キャメルケースで、あとコードを読みやすくするためにも分かりやすい名前にしようねって言ってます。


代入演算子。今後も出てきそうね。
val [変数名] : [データ型] = [値]
この形を覚えておこう。


リテラル…文字通り、という意味。そのまんま見た通り、変化することのないものってことか。変数がリテラルではないっていうのは、まさに文字通りだね。

文字列リテラルを格納したいなら、Stringにしろ、と。

なるほど、確かに出力したい文字は''で囲っていたのに、countはそのまま括弧に入ってる。変数の値を出力したい場合は、そのまま入れる必要があるのね。これは間違えそう。

確かにこのままだと、countの部分が2には置き換わらない。


$マークを変数名の前につけることで、変数の値として出力することができる。

折角だし自分でも試してみます。

↓
![]()
countの文字が数字に変わりました。



長かったですが、これで変数の宣言については終わりました。次にいきます。

めっちゃ省略できるんですね。
val name : Int = initial valueだったのが、val name = initial value 。
無くなったのはデータ型の部分か。

初期値を指定する場合はデータ型を省略しても、動作してくれるのね。
次で最後のセクションです。いきましょう。

そうか。『2』という単語でも、テキスト、整数どちらでも捉えることができますね。
データ型、Int変数でできることを紹介してくれます。

これは便利だね。演算子を使うときは{}で囲うのか。

テストします~。

エイッ!
![]()
$が手前に付いたunreadCountだけが値に変換され、残りの演算式がそのまま出力されることに。中括弧、大事。

演算式を使う場合、$マークは中括弧の前に付けなくてはいけない。
以上で、3章【変数を定義して使用する】が完了しました。今回は長かったねえ~。
お疲れ様でした!
【Kotlin で変数を作成して使用する】を学ぶ①
前回、『初めての Kotlin プログラム』をようやく修了したので、次のステップへ進みます。
Kotlin で変数を作成して使用する
変数、聞いたことあるような、無いような。高校の数学で習ったっけな。

コードを書き換えることなく、時間や状況に応じて変化するもの…というのが変数という認識でいいだろうか。


なるほど、今のところ理解できてる。

はてなブログでというサイトを例に挙げて、同じ説明をするとすれば

はてなブログのロゴや、ヘッター、フッター内が変化することはありません。(大幅なサイトデザイン変更などを除いて)
しかし、おすすめなどのピックアップ記事は時間経過と共に変化するものです。

…そう考えると変数を使ったコードって結構難易度が高いような気もするけど、結構序盤に学習することになるのね。

データ型。Stringだとテキスト、Intだと整数のみを格納できるということか。
String・Int・Double・Float・Boolean、この5種類だけならすぐに覚えられそう。

偉大なるGoogle本社のマップアプリでの情報。(アメリカのカリフォルニア州)

こうしてみると、確かに5種類のデータ型を使えば大体何とかなりそう。あとは表示される画像とかも変化させたいけど。
では、問題です。


・動画のタイトルはテキスト➡String。
・動画再生数は整数➡Int
・動画の評価数は整数➡Int
・チャンネル登録者数は整数➡Int
・チャンネル登録しているかどうか➡Boolean
・コメント数は整数➡Int
という感じでしょうか。回答見てみます。

合ってますね。チャンネル登録してるかどうかがBooleanってのも正解なはず。
では次。

変化する部分は、メールの差出人名、メールのタイトル、メールの内容、メールを受信した時間、メールをお気に入りに追加しているか…くらいだろうか。
差出人名➡String
タイトル➡String
内容➡String
時間➡Int
お気に入り➡Boolean
こんな感じでどうでしょうか。解答見てみます。

画面下の新着メールのところも変化するのか。見落としてた。でも大体合ってる。
今回のおさらい
[変数とは?]
単一のデータ(値)を格納するための箱のようなもの。状況に応じて変化するテキストや数字などを表す。
[Kotlinのデータ型の種類]
・String➡テキスト
・Int➡整数
・Double➡小数
・Float➡小数(Doubleより精度が低くなる)。番号の末尾にfまたはFが含まれている
・Boolean➡true(真)またはfalse(偽)。取り得る値が2つしかない場合は、このデータ型を使用
という感じで、ざっくりと変数とデータ型の基本について学びました。次のセクションでは、コード内での変数とデータ型の使用方法について学習していきましょう。
Kotlinのコードを初めて練習する。【初めての Kotlin プログラム】
続きです。
練習

お馴染み、fun mainのprintInですね。
3つ並んでいるので、行ごとに
1
2
3
という順にテキストが出力されるはず。
コードを実行してみましょう。

合っていますね。では次へ進みます。

さきほど出力した、テキストをこのメッセージに置き換えてあげればいいだけですね。

コードを実行。

ん?
![]()
![]()
…
すごい恥ずかしい間違いをずっとしていたかもしれない。
printlnのlって、Lの小文字(l)か。ずっとiの大文字(I)だと思ってたよ。
修正して、再度実行してみます。

OK。私はKotlinを学習します。どんどん進みましょう。


貼り付けた。

なるほど、順番を変えろってことですね。

さあどうでしょう。

OK。並び替えられました。次。
今度は修正の演習です。見たところ、変な部分はなさそうだけれど…
いや、閉じなか括弧が抜けている。修正します。

実行。

OK。簡単ですね。次。

間違いさがしみたいになってきた。今までと異なる点は、printlnがprintLineに変わっているくらい。そこを修正してみます。

実行。

OK。演習も残り2問です。次。

おかしな点としては、prinlnが改行されずに横並びになっているくらいだけど、これってエラーになるんだっけか。

ダメなんだね。そしたら改行してみるかあ。

実行。

うまくいった。以前、同じように改行しなくてもエラーにならなかったような気がするんだけど間違えてたか。

なか括弧 {} ではなく、まる括弧 () が使用されている。修正します。

実行。

すべての問題が終わりました。これにて、Kotlin入門編は完了です。
次回からは、Kotlinで変数を使用して、より魅力的なプログラムを作成する方法を学習します。
コードのエラーを修正する を学ぶ【初めての Kotlin プログラム】
コードのエラーを修正する

プログラミング言語の記述には特定のルールがある、ということです。
それでは、実際にコードのエラーを修正してみましょう。

以前から何度も出てきている、fun main です。
printInの部分も同じなので、コードを実行した場合『Today is sunny!』と表示されるはず。

エラーが発生した。原因として考えられるものを教えてくれています。
" )
この2つの記号が問題っぽい。どこだろう。

出力したい文字はダブルクオート " で囲まないといけませんが、前側は付いているのに後ろにはダブルクオートが書かれていません。
その結果、Today is sunny!の後に続く閉じ括弧 ) も出力したい文字として認識されてしまっています。なので、閉じ括弧も入力漏れとして報告されている状態。
その部分を直して、再度コードを実行してみます。

↓
![]()
無事修正できました!これは分かりやすい問題でしたね。

次回は、今までに学習した内容で演習を行っていきます。
Kotlinスタイルガイドを学ぶ【初めての Kotlin プログラム】
引き続き、『初めての Kotlin プログラム』を学んでいきます。
7. Kotlin スタイルガイド

コードの記述の規則についての説明です。
・関数名はキャメルケースで記述し、動詞または動詞句を使用
関数名を適当なものに変更するとエラーが発生したように、規則に沿って名前を付けることが求められます。
キャメルケース…最初の単語を小文字にし、それ以降の単語の先頭を大文字にする形式です。(camel case➡camelCase このように文をひと綴りにする)
・ステートメントは1行に1つずつに記述

ステートメント…命令、宣言文。
あまり意味が分からないけど、要するに
fun main() {printIn("Hello, world")}
と、一行で記述するのではなく、
fun main() {
printIn("Hello, world")
}
このように、改行してコードを見やすくしてねって事だと思われる。
![]()
➡![]()
因みに、1行にまとめてもエラーは発生しませんでした。なので視認性の問題なんだろうね。
・関数の先頭行の末尾には、開き中かっこが必要
『開き中かっこ』っていうのは { } ⇦こいつのことですね。
fun main() {
printIn("Hello, world")
}
というようになってるので、ここでいう関数の先頭行は fun main() かな。
・開き中かっこの前にはスペースが必要
fun main() {
↑このスペースが必要。
スペースを消去しても、エラーは発生しませんでした。
そして、関数本体にはスペース4つ分をインデント(空白を挿入)します。
fun main() {
printIn("Hello, world")
} ↑ 4つ分のスペース
閉じ中かっこは、関数本体のコードの最終行の後に、単独の行で記述します。
fun main() {
printIn("Hello, world")
} ⇦単独の行で記述
最終行の後に、単独の行に、そして関数の先頭のfunキーワードと揃えます。
|fun main() {
| printIn("Hello, world")
| }
これは✖
きちんと揃える。
|fun main() {
| printIn("Hello, world")
|}
◎◎
以上、Kotlinスタイルガイドの基礎でした~。
kotlin【関数の構成要素】などを学ぶ
5. 関数の構成要素
関数の定義と呼び出し

分かりやすい説明。とりあえず、コードを書くときは最初に関数を定義する、ということを覚えておく。
では、どのように関数を定義するのか。

コード変換前のがそもそも分からないですね~。
関数を定義するときには、最初に「fun」ってのをつければ良さそう。function(関数)だから、funってことね。
funのあとの[name]ってのは、任意で好きな名前をつけていいんだろうかね。

前回、実行させたコードが出てきました。これも同様に関数の定義のルールに沿ってプログラムが組まれていますね。
関数名を別のものに変えたらどうなるのか気になるので、それだけ試してみる。

agyou(あ行)という名前に変更してコードを実行。

ダメだったー!正直名前はなんでもいいと思ってた。[main]っていう名前にはちゃんと意味があるんだね。
関数のキーワード

関数の目的に基づいて、関数に適切な名前を選択します。
[agyou]みたいに、適当な名前ではダメってことなのね。動詞または動詞句にする。
関数名の例に挙げられている名前だったらエラーが発生することは無いのだろうか。

↓

無理っぽい。printInとmainという名前に何か繋がりがあって、その組み合わせじゃないとダメなんだろうね。
プログラムを変更する

これは既にやってますね。「あいうえお」という日本語のメッセージを表示させることができました。
複数のメッセージを出力する

複数のメッセージの出力、やってみましょう。

出力~

good.あいうえおが2行になりました。というか折角なら違う文字にしたいよね。

出力~

別の文字の出力もできました。
今度は2行以上を出力してみます。

出力

雪が混ざってるよ。
~次回へ続く~
知識0からのKotlin学習
Kotlinを学ぶ
スマホアプリを作ってみたい+自分の使っているスマホがAndroid
という理由でKotrinを学習してみようと思います。
参考にする学習サイトはこちら
無料で何でも学べる時代になったのは本当にありがたいですね。
因みに自分は、プログラミングの知識が無いどころの話ではなく、学力も平均を大きく下回っているので、理解できないことがほとんどになると思われます。
【初めてのKotlinプログラム】
[①始める前に]と[②始める]は軽く読む程度で省きます。
[③Kotlinプレイグラウンドを開く]

青色の文字リンクをクリックして、Kotlinプレイグラウンドとやらを開きます。

真っ黒なサイトが出てきた。

You can edit,run,and share this code.(このコードを編集、実行、共有できます。)
play.kolinlang.org⇦Kotlinプレイグラウンドのurl
その下、fun main()...のように書かれているのが、まさにKotlinのコードというわけですね。意味はさっぱり分からん。
サイトの右上に実行ボタンのようなものがある。

押してみる。

画面下部に「Hello,world!!!」と表示された。なるほど、
fun main(){
printIn("Hello, world!!!")
}
というコードは、Hello, world!!!というテキストを表示させる意味を持っているんですね。
ということは

こうすると


表示されるテキストも変わりますね。
【関数の構成要素】

(੭ ᐕ))?
急に難しいことを説明し始めた。関数?セグメント?
ひとつひとつ、紐解いていきます。まず1行目。

関数というものについて説明してくれていますね。
・セグメント...同じような属性を持つ固まり
改めて、文章を確認してみる。
関数とは、特定のタスクを実行するプログラムのセグメントのことです。
…何となく意味は理解できた気がする。要は、仕事を完了させる為に必要な道具みたいなものだろうか。

という解釈。そしてこれらの道具は、1つだけを使っても、複数使ってもいいとのこと。
このままだと、とんでもない文字数の記事になりそうなので、一旦区切ります。