バナー画像

Javaをはじめ多くのプログラミング言語では、データを格納する際に「データ型」を指定します。

本記事では、Javaで利用するデータ型についての基礎知識を初心者向けに解説していきます。

Javaのデータ型について


Javaで利用するデータ型にはいくつもの種類があり、データ型によって扱えるデータ範囲が異なります。

まずは「基本型」と「参照型」と呼ばれる分類について確認しておきましょう。

基本型

基本型は「プリミティブ型」とも呼ばれ、Java言語標準として定義されたデータ型を指します。

基本型はさらに「整数型」「浮動小数点型」「文字型」「論理型」に分けることができ、それぞれ下記8つのデータ型が存在します。

整数型
  • byte: 8bitの整数(-128~127)
  • short: 16bitの整数(-32768~32767)
  • int: 32bitの整数(-2147483648~2147483647)
  • long: 64bitの整数(-9223372036854775808~9223372036854775807)
浮動小数点型
  • float: 32bit単精度浮動小数点数
  • double: 64bit単精度浮動小数点数
文字型
  • char: UNICODE文字(u0000~uffff)
論理型
  • boolean: 真偽型(trueまたはfalse)

参照型

Javaでは上述した基本型以外のデータ型を「参照型」として扱います。

参照型は「クラス型」「配列型」「インターフェース型」に分けられ、基本型が値そのものを保持するのに対し、参照型ではアドレス(データのある場所)を保持する点が異なります。

Javaでのデータ型定義方法


実際にJavaでプログラミングを行う際、どのようにデータ型を定義するのかについてご紹介していきます。

データ型の定義方法

Javaでデータ型を定義する際、下記のように宣言します。

データ型 変数名;

例えばデータ型を「int」、変数名を「i」と宣言する場合、下記の記述になります。

int i;

データ型定義サンプル

public class Main {
	
	public static void main(String[] args) {
		byte by1 = -128;
		byte by2= 127;
		short sh1 = -32768;
		short sh2 = 32767;
		int i1 = -2147483648;
		int i2 = 2147483647;
		long lo1 = -9223372036854775808L;
		long lo2 = 9223372036854775807L;
		float fl1 = 3.40E38F;
		float fl2 = 1.4E-45F;
		double do1 = 1.79E+308;
		double do2 = 4.94E-324;
		char ch1 = 'あ';
		char ch2 = '川';
		boolean bo1 = true;
		boolean bo2 = false;
		String str = "あいうえお";
		
		System.out.println("by1:" + by1);
		System.out.println("by2:" + by2);
		System.out.println("sh1:" + sh1);
		System.out.println("sh2:" + sh2);
		System.out.println("i1:" + i1);
		System.out.println("i2:" + i2);
		System.out.println("lo1:" + lo1);
		System.out.println("lo2:" + lo2);
		System.out.println("fl1:" + fl1);
		System.out.println("fl2:" + fl2);
		System.out.println("do1:" + do1);
		System.out.println("do2:" + do2);
		System.out.println("ch1:" + ch1);
		System.out.println("ch2:" + ch2);
		System.out.println("bo1:" + bo1);
		System.out.println("bo2:" + bo2);
		System.out.println("str:" + str);
	}

}

実行してみると下記のようにエラーなく出力されていることが確認出来ます。

by1:-128
by2:127
sh1:-32768
sh2:32767
i1:-2147483648
i2:2147483647
lo1:-9223372036854775808
lo2:9223372036854775807
fl1:3.4E38
fl2:1.4E-45
do1:1.79E308
do2:4.9E-324
ch1:あ
ch2:川
bo1:true
bo2:false
str:あいうえお

Javaの基本型と参照型の違い


ここまででJavaのデータ型についてご紹介してきましたが、基本型と参照型のデータ保持方法の違いについてもサンプルで確認しておきましょう。

サンプルコード

public class Main {
	
	public static void main(String[] args) {
		int i = 123;
		premitive(i);
		System.out.println(i);
		String[] strArray = {"あいうえお", "かきくけこ", "さしすせそ"};
		reference(strArray);
		System.out.println(strArray[2]);
		
	}
	
	public static void premitive(int i) {
		i = i + 100;
		System.out.println(i);
	}
	
	public static void reference(String[] strArray) {
		strArray[2] = "たちつてと";
		System.out.println(strArray[2]);
	}

}

実行した結果が下記となります。

223
123
たちつてと
たちつてと

サンプル解説

4行目で基本型であるint型に対して初期値を設定し、5行目のメソッド呼び出しにより14,15行目の処理が実行されます。

処理が6行目に戻り、再度宣言した変数の値を出力した結果が実行結果の1行目と2行目です。

メソッドの引数として渡された値を14行目で変更していますが、呼び出し元のメソッド内の値は変更されていないことが分かります。

一方で、7行目で宣言した参照型であるString配列の場合、19行目で上書きして出力した値と呼び出し元である9行目で出力した値が、同一となっていることを確認出来ます。

これが基本型と参照型の違いで、参照型の場合呼び出し元と呼び出し先で同じアドレスのデータが参照されているため、呼び出し先のメソッドで更新した値が呼び出し元の変数にも影響を与える結果になっています。

さいごに: Javaのデータ型で扱える値の範囲と基本型・参照型の違いを抑えておこう


本記事では、Javaのデータ型に関する基本知識として、基本型・参照型の違いと各データ型が扱える範囲について初心者向けにご紹介してきました。

基本型と参照型の違いについて、最初はややこしいと感じる方も多いですが、Javaでプログラミングを行う上では必須知識の1つです。

今回ご紹介した各データ型と合わせて、細かく最大値・最小値までを覚える必要はありませんが、どういったデータ型を利用するのが適切かしっかりと判断しながら定義を行えるように学習を進めていきましょう。

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。