基本的なデータ型とリテラルについて

データ型はおおまかに分類すると2種類だけ

プログラムを組んでいく以上データというものとは切っても切り離せませんが、一口にデータと言ってもいろいろなタイプがあります。
Java言語もデータのタイプごとにデータ型を用意しているので数だけでみるとそこそこあるように感じますが、まずデータ型をおおまかに分類すると2種類になります。
それがプリミティブ型参照型です。
データ型の二大巨頭がこの2つで、そこから更に細かく分かれていくという感じですね。なのでプリミティブ型と参照型どちらにも属しているデータ型というものはありません。
プリミティブ型みたいに扱える参照型という存在もいますが、それらはあくまで参照型に分類されるものなので、全てのデータ型は必ずどちらかに属しています。
とはいえJavaの勉強始めたばかりだよーって人は、この2つの違いについて今はそんなに気にしなくても大丈夫です。この記事では「こういうデータ型があるのねー」というのをまずは知ってもらえればそれでいいので!
詳しいことは後から段階を踏みながら少しずつ知っていけば良いのです。というわけで、次にどういうデータ型があるのかを具体的に紹介していきます。


データ型の種類

 ① 整数型

整数を扱える型です。そのままですね。
整数なら何でも扱えるので、正の数でも負の数でも大丈夫です。
整数型は4種類ありますが、それぞれの型で扱える整数の範囲が違います。用途によって変わってきますが、だいたいのケースではint型の数値範囲で十分なため、結果的にint型はめちゃくちゃよく使う型です。
この4つはプリミティブ型に分類されます。

それぞれ「バイト」「ショート」「イント」「ロング」と読みます

 ② 浮動小数点型

小数点以下を含む数値を扱える型です。字面の通りですね!
浮動小数点型は2種類ありますが、double型を使うのが一般的です。
double型の有効桁数(誤差なく表現できる数値の桁数)は15桁あり、floatはその半分くらいの有効桁数なので、そういう意味でも基本的にはdouble型を使う方が良いかと思います。
この2つはプリミティブ型に分類されます。

それぞれ「フロート」「ダブル」と読みます

 ③ 文字型

文字を扱う型です。そのまま(ry
ここでいう文字とはシングルクォートで囲まれた1文字を指します。
またUnicodeという国内外のいろいろな文字を表現できる文字コードがあるんですが、それを直接指定することもできます。
この型はプリミティブ型に分類されます。

一応正式な読み方は「チャー」ですが「キャラ」と読む人もいるので正直ここは好みかなと
 

 ④ 文字列型

これも文字を扱う型なんですが、charと違うのは文字列を扱えるという点です。文字列というのは簡単に言うと文字の集まりです。
ダブルクォートで囲まれた文字が文字列として扱われます。もし1文字だけだったとしても、なんならスペースも何もない状態でも、ダブルクォートで囲まれてたらそれはもうJava的には文字列なんですよ。慣れないうちはちょっとややこしく感じられますけどね。
余談ですが「" "」は空白文字列、「""」は空文字と地味に区別して扱われます。
文字列を扱う型はいくつかありますが、代表的なものはString型といいます。これは参照型に分類されますが、String型は冒頭でも書いたように「プリミティブ型のように扱える参照型」になるので、最初のうちはそんなに気にしなくても大丈夫です。

「ストリング」と読みます。最初のエスは大文字なので注意!

  ⑤ 論理型

真(true)と偽(false)を表現するためのデータ型です。
データベースとかではちょっと変わってきますが、Javaではこの2つの値しか表現できない型になります。
この型はプリミティブ型に分類されます。

「ブーリアン」と読みます


リテラルとは

ところで、これまで紹介してきたデータ型は文字通り「データのタイプ」となります。「データの値」はまた違う概念になるんですよ。
ここでいう「データの値」というのは、直接的に示された値のことを指しています。例えば『10』なら整数の値、『"ありがとう"』なら文字列の値といった具合です。
んで、このソースコード上に直に書かれた値全般をリテラルと呼びます。つまり『10』は整数リテラル、『"ありがとう"』は文字列リテラルです。
ぶっちゃけてしまうと、さっきデータ型の説明の時にちょこちょこ出てきてた表図の「表現できる値」の項目ありましたよね? あれ全部がリテラルということになります。
ただ同じ意味のリテラルでも表現の仕方を微妙に変えられるものもあるので、ざっくりまとめるとこんな感じになります。

nullリテラルについての説明は参照型の記事のときにでもするので今は「ふーん」でOKです

で、ですね。
整数リテラルはint型、浮動小数点リテラルはdouble型として扱われます。
例えば『10』という整数リテラルなら、Javaは自動的にint型の数値だと判断してしまいます。byteでもshortでもlongでもないんですよ。
同じように『12.34』という浮動小数点リテラルはdouble型の数値として自動的に扱われてしまいます。floatととしては扱わないんですね。とはいえ、これは整数リテラル・浮動小数点リテラルに限った話ですので頭の片隅に置いておいてください。
ちなみにlong型として扱いたいときは数値の最後に「L(または小文字のl)」をつけるとlong型リテラルになります。同じようにfloat型として扱いたいときは数値の最後に「F(または小文字のf)」をつけるとfloat型リテラルになります。例を出すと『10L』や『12.34F』ですね。

あとは〇〇型として利用できるように宣言したデータについては話が変わってきます。
これがいわゆる変数宣言というものですが、それについては次の記事に書いていきたいと思います。今回はここまで!

この記事が気に入ったらサポートをしてみませんか?