この章ではデータ型について説明します。
データ型とは変数に入れるデータがどのような性質のデータなのかを分類したものです。
これについては「if文について知ろう1」の章で説明します。
char型は「’a’」のように1文字だけを格納するためのデータ型です。
半角アルファベットや全角文字などがchar型であり、これらをシングルクォートで囲みます。
char型は2バイトの UNICODE文字です。
UNICODEとは世界中のあらゆる国で使われている文字を1つの文字コードとしてまとめている規格です。
byte型は「-128~ +127」までの整数を入れることが出来ます。
short型は「-32768~ +32767」までの2バイトの整数を入れることが出来ますが、メモリはint型の半分になります。
int型は「-2147483648~ +2147483647」までの4バイトの整数を入れることが出来ます。
整数を入れるのにbyteやshortもありますが、intがよく使われます。
double型は8バイト=64ビットのサイズで倍精度浮動小数点数型と呼ばれています。
しかし、「ある変数」に違うデータ型の変数を入れても精度が落ちないと判断すれば違うデータ型の変数でも入れることが出来ます。
精度が落ちないとは小さいサイズのデータ型変数を大きいサイズのデータ型変数に代入する時です。
この時に型の変換が行われます。
例えばintの変数をlongの変数に代入したり、intの変数をdoubleの変数に代入することがこれに当たります。
型の大きさは以下の通りになります。
注意点としてはchar型からbyte型やshort型には自動変換できません。
では例をみてみましょう。
結果、int型の変数の値である「10」はdouble型の変数の値「10.0」に自動変換されます。
また、int型の変数の値をlong型の変数に代入すると、long型の変数に変換されます。
結果は同じ10ですが、型の変換が行われています。
次は計算での型変換です。
式の中に異なる型が混ざっている時は小さい型が大きい型に自動変換されてから計算されます。
例えば以下の例の場合はint型の変数kがdouble型に変換されるので「2.0」になりますので、「2.0+2.3」という計算がされます。
int型は整数型なので、小数点以下は表示されず、結果は2になります。
次は以下の箇所の説明をします。
式の中に異なる型が混ざっている時は小さい型が大きい型に自動変換されて計算されると言うルールがあるので、変数eはfloat型に変換されてから計算が行われます。
答えはfloat型の計算では小数点以下もきちんと出力してくれますので、2.25になります。