19.0312~0323

値型/value-type と String型

1. 数値
Androidプログラミングの、入門レベルの本を読みこなすために、
必要な、数値型 は、
  Int(整数、たいていの数値がこれで収まるから、0、-123 なども、OK)
  Double(普通、無難な選択だから)
これで、十分だと思います。
ただ、全体像を知っていた方が、後々のためだと思われますので、
参考程度に見てほしいと思います。↓

データ型 簡単な説明 データの大きさ
 Byte   メモリ節約などのために使う   8bit 
 Short   Byte より、データは大きい   16bit 
 Int   サンプルプログラムでは、まず、これしか見ない   32bit 
 Long   もし、光速で、何年か旅行したら、使う距離かもしれない   64bit 
 Float   小数のため   32bit 
 Double   小数、例えば、「0.1」 、サンプルプログラムでは、まず、これ!  64bit 

ここで、データが大きいとは、bit数 が、大きいことを意味しますが、
  bit数
って、なんだと思われるかと思いますが、
まあ、この企画は、「入門レベルの、Androidアプリ作成本」 を、
読みこなすことを目標としていますので、説明は、割愛させていただきます。
私の究極の目標としている、リファレンスが、出来たら、頑張って書きます。
ただ、ものすごく簡単に説明すると、
  0 と 1 で、データが構成されると考えてください。
  桁が大きい方が、データが大きいと考えてください。
すると、小さいデータとは、例えば、こうです:
  01
大きいデータだとすると、例えば、こうです:
  000000000000000000000000001
両方とも、「数値としては、同じ」 ですが、
大きいデータの方が、「メモリ領域」 を、たくさん使いますし、
「読み込む」 のにも、時間がかかることは、感覚的に分かると思います。
まあ、私も、詳細は知らないので、感覚的に分かっているだけですが。
また、この説明も、「2進数」 の知識が必要ですので、
・ データが大きいと、「限られたメモリ領域」 を、たくさん占領する
・ データが大きいと、データを読むのにより時間がかかる
  (つまり、プログラムの実行速度が、多かれ少なかれ、遅くなる)
こんな理解だけしておいてください。

ということで、今日はここまでです。
思ったより、サクサク書けませんが、この企画は、早く終わらせたいと、思っています。
AndroidStudio3.3対応の、Androidプログラミング本 が、
時代遅れになる前に、完成させたいので、頑張って書いていきます。


2. 文字列 / String型
文字列 というのは、その名前の通りで、文字の列、、
でも、もう少し詳しく言うと、文字の配列 を、意味しているようです。
(配列 は、後で説明しますが、データの集まりのことです)
では、その「文字」 とは、何かというと、
  Char
と、言われるのが、文字データ になるわけです。
この、Char型、私などは、どんな使い道があるのか、よくわかりませんが、
必ず、覚えるべきデータとして、登場します。
ただ、最初のうちは、「1文字」 を、表すデータ ということだけ、
事前知識として、覚えておくだけでいいと思います。

それで、
  Char の、リテラル
を、どう表現するか?
と、その前に、リテラル とは?ですが、
  リテラル とは、変数 の、反対語
  つまり、変化しない 値/あたい/データ
です。
で、変数とは?ですが、
  あるデータ に対して、
    ラベル を、貼り付けて、
    その ラベル名 と言えます。
    こうすると、データに対して、
    「意味/ラベル名」 を、持たせることもできるし、
    長い名前のデータ を、短い名前の、ラベル として
    扱うようにしたりも出来ます。
    また、データを、書き替えることもできます。

で、お待たせしました。
Char型リテラルとは:
  'a' '0' ''
などのように、
  「1文字」 に対して、'/一重引用符/シングルクォーテーション
  で、囲んでください。

それで、やっと、肝心の、文字列String型)ですが、
文字列 の、リテラルは、
  "Kotlin""小鳥""123"
などのように、
  "/二重引用符/ダブルクォーテーション
  で、囲んでください。

ここで、気を付けてほしいのは、
  数値 の 0 と、文字列 の "0" は、違う
  (もちろん、123 と、"123" なども)
ということを、覚えておいてください。
コンピュータには、「数字の文字」 であっても、
それを使って、計算はできないのです。

あと、最初に登場した、Int型、Double型の、リテラルですが、
  Int型のリテラル
    123 567 など
のように、普通に書けば、OKです。
そして、
  Double型のリテラル
    0.1 12.345 など
のように、普通に小数を、書けば、OKです。

他の 数値 タイプ/型 の場合
は、特にリテラルがなかったり、
例えば、Long型 なら、末尾に L を、
付けたりするルールとかあります。
でも、ここでは、省略させていただきます。

話が長くなってしまいましたので、
最後に、このページのために、
一番、大事なところを、まとめます。


3. Boolean(Yes/Noな感じ)
この型の、リテラルは、2つだけです。
  true
  false
true は、正しい/真/Yes ということを、表しています。
false は、間違い/偽/No ということを、表しています。

後から登場する、比較演算子 >など を使った式が、返す値は、Boolean型 になります。
例えば、
  12 + 34
の場合は、コンピュータで計算しても、
算数と、同じように、答えは、46 になりますが、
  12 > 34
を、Kotlin などの、プログラミング言語 で、
計算すると、どうなるでしょうか?
まず、「12>34」 は、正しいかどうかを考えてみましょう。
 ヒント:
  > の意味は、「左の値 > 右の値」 の時、
  「左の値」 は、「右の値」 よりも、大きいですか
  という意味です。
さて、答えは何でしょう?
答えは、Answerです。

そして、true と、false は、
コンピュータープログラミング、で、一番のカギを握っている
といえるほど、大事なデータなのです。

なぜなら、プログラミングでは、ことあるごことに、
「正しいですか?」 「間違いですか?」 と、聞いてきます。
そして、Yes か No つまり、
  true なのか false なのか
によって、コードの実行方法を、決めているのです。
実際に、コードの中で、どんな風に使うのかは、
次回以降、実際のコードを使ってやって見ます。

ここでは、値 を、表す、型/タイプ に絞って説明しました。  



まとめ
1. 数値型でよく使われるタイプ
   Int(整数)
   Double (小数)
    リテラルは、半角文字で、普通に書く。
      123、-123、0
      1.23、-1.23、2.0(2 だと、Int型です)
2. 文字列(String
   文字 のこと
    リテラルは、"/二重引用符/ダブルクォーテーション
    で、囲みます。
      "123"(Int型ではありません) 
      "文字です"
   空文字について:
     何もない文字でも、
     " で、囲まれていると、
     文字列として扱われます。
     後でやる、変数の宣言時などに、デフォルト として、使えます。
     具体的には、
       ""
     に、なります。
3. Boolean型
    リテラルは、
     true
     false
    の2つで、
    意味は、
     true(正しい、Yes)
     false(間違い、No)
    です。