データ型について
3.1 データ型とは
前回は「int」や「String」というものを使い変数宣言を行っていました。
うすうす理解されているかと思いますがこの「int」や「String」といったものがデータ型というものになります。
そもそものデータ型とは、プログラミング言語を扱うためにデータの種類や形式を示すための規定となります。つまり宣言した変数がいったいどんな種類のデータなのかを示す目印のようなものです。また、データ型は大きく分けると「プリミティブ型」と「参照型」というものに分類されます。
「プリミティブ型」とは変数に値そのものを格納して扱うもので、「参照型」とは変数の中にオブジェクトへの参照を格納するものになります。「参照型」については今はピンとこないかと思いますが今は値を入れずに値が配置されている場所の住所が格納されている。といったイメージをしてくれれば大丈夫です。
3.2 データ型の種類
先ほどデータ型は大きく2種類であることがわかりました。
さきほどのプリミティブ型と参照型のそれぞれのデータ型を確認しましょう。
すぐに覚えるのは正直厳しいと思います。私もはじめは全然覚えられませんでした。ですがこれらは勉強していくうちに何度も登場してきますのでわからない場合は都度確認するようにして覚えるくらいで大丈夫かと思います。
3.3 それぞれの特徴や役割
先ほどの表にあったデータ型のいくつかについて解説をします。
3.3.1 byte型
byte型は8ビット(1byte)のメモリを使用して扱います。
-128~127までの整数を格納することができます。主な使用用途としてはファイルの読み書きやネットワーク通信などバイト単位でデータを扱う場合に使われます。ほかにも画像の処理や音声データを扱う場合にも使われます。
3.3.2 short型
short型は16ビット(2byte)のメモリを使用して扱います。
-32,768~32,767までの整数を格納することができます。主な使用用途はメモリの使用量を抑えつつ整数値を格納する必要がある場合に使われます。byte型では容量が不十分でint型よりもメモリを節約したい時などに便利です。
3.3.3 int型
int型は32ビット(4byte)のメモリを使用して扱います。
-2,147,483,648~2,147,483,647(約21億)までの整数を格納することができます。今後プログラミングを行う上で一番使う整数型になるかと思います。主な使用用途は数値計算など整数を扱う場面で多用されています。byte型とshort型とint型で複数あり、何を使うのが正しいか悩むかもしれませんが、特別に理由がなければ基本的にint型を使って問題ないです。
こちらは何度か変数宣言を行っているところを見ているかと思うので画像は割愛します。
3.3.4 long型
long型は64ビット(8byte)のメモリを使用して扱います。
-9,223,372,036,854,775,808~9,223,372,036,854,775,807(約900京)までの整数を扱います。主な使用用途はint型では収まりきらないような整数を扱うときです。タイプスタンプや識別に使用するIDや非常に大きい数値を扱う計算などです。
long型は他の整数型と少し変わっており、変数を宣言、代入する際には末尾に「L」をつける必要があります。つけなくても動作することもありますが、基本はつけるように意識しましょう。
3.3.5 float型
folat型は32ビット(4byte)のメモリを使用して扱います。
-3.4028235 × 10^38~3.4028235 × 10^38までの少数込みの数値を扱うことができます。
数値を見ると難しいかと思いますので約6,7桁の少数込みの数値が扱える。程度に覚えておきましょう。このfloat型も宣言時に「f」をつけて宣言する必要があります。
3.3.6 double型
double型は64ビット(8byte)のメモリを使用して扱います。
こちらも少数が扱えるデータ型で約15桁の少数が扱えます。少数を扱う場合は基本的にdouble型を扱います。理由としては実はfloat型はdouble型よりも厳密な計算が苦手なデータ型であるからです。また、double型も計算が得意というわけではないので誤差が許されない金額の計算などは整数型を必ず使用しましょう。
3.3.7 boolean型
boolean型はYes(true)かNo(false)のみを格納するデータ型です。
主に2択のみを判断するような場面で扱われます。例えば「勝ちか負けか」「電源がONかOFFか」「本当か嘘か」「当たりか外れか」などです。こちらのデータ型も頻繁に使用されますので覚えておきましょう。
3.3.8 char型
char型は16ビット(2byte)のメモリを使用して扱います。
主に文字を格納するために扱われます。厳密にはUnicode文字を表すものですが、今覚える分には「全角、半角を問わず1文字だけ格納することができる」と覚えておきましょう。また、char型は宣言する際には「’’」シングルクォーテーションで囲う必要があります。「””」ダブルクォーテーションで囲うとエラーになりますで注意が必要です。
3.3.9 String型
String型は今まで説明したプリミティブ型と違い「参照型」です。実はStringというものはMainクラスのようにStringクラスというものがあり、そのクラスを利用して文字列を格納しているのです。
この先はクラスについて理解が深まったら再度説明しますので現状は文字列を扱うことができるデータ型と覚えておくだけで問題はありません。
3.4 まとめ
・データ型にはプリミティブ型と参照型がある
・プリミティブ型は直接値を格納する
・参照型は値が格納されている住所を格納する
・整数型にはbyte,short,int,longがある
・少数が扱えるのはfloat,double
・char型は文字を1文字だけ格納できる
・String型はプリミティブ型と同じように使えているが参照型であり、他と特性が少し違う
データ型についてはかなりの情報量になり覚える自信がない人もいるかもしれません。しかしながら一言一句覚えていないと開発できないというわけでは全然ないのでどんなデータ型があるのかなどコードを見たときに思い出せる程度には覚えておけば大丈夫です。
次回は計算について改めて説明をします。