Java言語でプログラミングを行うために4 ~基本データ型~

Java言語でプログラミングを行うために4 ~基本データ型~

Java言語でのプログラミングのデータ型について紹介します。今回は基本データ型です!

はじめに

前回に引き続きJava言語でのプログラミングについて紹介します。前回は、「データの入れ物」である変数について紹介しました。あわせて変数の宣言や値の代入についても確認しました。 今回は変数のデータ型について学んでいきましょう。

これまでのコラムは下記から読めます。

  1. Java言語でプログラミングを行うために1 ~インストール・コマンド~
  2. Java言語でプログラミングを行うために2 ~プログラミング実行までの流れ~
  3. Java言語でプログラミングを行うために3 ~変数~

データ型とは

データ型とは、「データの形式」「データの種類」を定めるものであり、数値や文字、文字列などが挙げられます。Java言語では変数を宣言する際に同時に定義を行う必要があります。

Java言語のデータ型は、大きく分けて2種類存在し

  1. 基本データ型
  2. 参照型
    に分類されます。

基本データ型は、数値や文字など名前のとおり基本的なデータ型です。また、参照型は配列やオブジェクトなど少々複雑な型が含まれます。 今回は、まずシンプルな基本データ型について紹介します。
※ 参照型については、次回以降で紹介します。

基本データ型

Java言語の基本データ型は8種類です。

整数型は4種類、浮動小数点型は2種類用意されていることを確認してください。

また、Java言語ではデータのデフォルトの型として

  1. 整数のデータ:int型
  2. 浮動小数点のデータ:double型
    が選択されます。

したがって、基本データ型に関しては、まずは「int」「double」「char」「boolean」の型を覚えて頂ければと思います。

※ 文字型(char型)は基本データ型ですが、文字列はString型という「参照型」に分類されるため注意が必要です。文字と文字列は異なるデータ型になります!

基本データ型の変数を定義

では、基本データ型の変数を定義したソースコードを確認してみましょう。

4行目から8種類の基本データが変数を宣言しています。 定義方法として、ポイントの行数としては、7行目と8行目です。

7行目

long型の変数lを宣言し、10000を代入しています。代入する数値データをlong型、つまり64bitの値として定義する場合は、数値の後ろにLまたはlを追加します。

8行目

float型の変数fを宣言し、6.05を代入しています。上記で紹介したように浮動小数点の値はデフォルトでdouble型として扱われるため、float型の変数に代入する場合は値の後ろにFまたはfを追加する必要があります。 ※ float型の変数に浮動小数点数を代入する場合、Fまたはfを追加しなければコンパイルエラーとなりますので注意してください。 むしろ、どのようなエラーが出力されるか確認してみましょう。

また、10行目と11行目は代入する値を確認してください。

10行目

文字型であるchar型の変数を宣言しています。文字型のリテラル(値)は”(シングルコーテーション)で囲む必要があるため、代入する文字データの「あ」をシングルコーテーションで囲います 。

11行目

真偽値型であるboolean型の変数を宣言しています。boolean型のリテラルは「true」または「false」のどちらかとなります。boolean型のリテラルは何も囲わずに定義しますので、””などで囲わないよう注意してください。 ※ “”で囲ってしまうと、文字列型のデータとなりますので、注意が必要です。

基本データ型の型変換

基本データ型の変数を使ってプログラミングを行っていると、代入式などで左辺と右辺で異なるデータ型を使用することがあります。
(例)左辺はdouble型の変数だが、数値を代入したいなど、、 左辺と右辺で異なるデータ型をやり取りする場合は、「基本データ型の型変換」を行う必要があります。

基本データ型の型変換には、

  • 暗黙の型変換(やり取りにおいて手続きなし)
  • 明示的なキャスト(別途手続きを行う必要あり)
    を行い、型変換を行います。 まず、整数型と浮動小数点数型との変換(代入)ルールについては、以下のとおりです。

つまり、整数型の値を浮動小数点数型に変換するには、特に手続きは不要ですが、逆のパターンは手続きが必要と覚えましょう。

基本データ型の型変換(暗黙の型変換)

実際にソースコードを見てみましょう。

ソースコードでは、「整数型から浮動小数点数型への変換」を行っています。 4行目で宣言したint型の変数iの値である10を5行目でdouble型の変数dへ代入しています。つまり、整数型のデータを浮動小数点数型へ型変換するイメージです。

この場合は「暗黙の型変換」となり、特に手続き等は必要ありません。 5行目の結果として、変数dは「10.0」いうデータを保持することになります。 整数型のデータは浮動小数点数型の変数に代入すると、「.0」が追加されるだけの処理であるため、手続き無しのデータ型変換となります。

基本データ型の型変換(明示的なキャスト)

では、明示的なキャストを行うパターンを確認しましょう。

先ほどのソースコードとは逆に、「浮動小数点数型から整数型への変換」を行っています。 4行目で宣言しているdouble型の変数dの値をint型の変数iに代入しようとしています。ただし、このままコンパイルを行うと5行目でコンパイルエラーが発生します。

キャスト演算子

そこで、定義していただきたいのが「キャスト演算子」です。
キャスト演算子は、暗黙の型変換で行えない変換を行うことが出来ます。

キャスト演算子は変換したい変数や値の前に()を定義し変換するデータ型を指定します。 ソースコードの結果は、変数iには「3」が代入されます。

上記ソースコードのように「浮動小数点数型から整数型への変換」においてキャスト演算子を使用すると、「小数点以下の値が切り捨てられる」ことになります。

明示的な手続きとして、キャスト演算子を定義することで変換することができますが、「強制的な型変換」を行うキーワードとイメージして頂くのが良いかと思います。
※ 今回のソースコードの例のように小数部が切り捨てられるなどが発生します。

■さいごに

今回は、Java言語の基本データ型の種類や変数の定義方法、また異なる型への変換方法について紹介しました。 次回はもうひとつの型である、「参照型」について紹介したいと思いますので、是非今回紹介したようなコードを色々と作成してみましょう!

記事は、予告なく変更または削除される場合があります。
記載された情報は、執筆・公開された時点のものであり、予告なく変更されている場合があります。
また、社名、製品名、サービス名などは、各社の商標または登録商標の場合があります。