Javaには、基本データ型(プリミティブ型)と参照型(リファレンスタイプ)の2種類のデータ型があります。これらを理解することは、Javaプログラミングの基本を理解する上で非常に重要ですので再度見直しましょう。
基本データ型(プリミティブ型)
基本データ型は、最も基本的なデータ型で、単一の値を保持します。以下の8種類があります:
- byte
説明: 8ビットの整数
範囲: -128 から 127
例:byte b = 100;
- short
説明: 16ビットの整数
範囲: -32,768 から 32,767
例:short s = 10000;
- int
説明: 32ビットの整数
範囲: -2,147,483,648 から 2,147,483,647
例:int i = 100000;
- long
説明: 64ビットの整数
範囲: -9,223,372,036,854,775,808 から 9,223,372,036,854,775,807
例:long l = 100000L;
- float
説明: 32ビットの浮動小数点数
範囲: ±1.4E-45 から ±3.4028235E38
例:float f = 10.5f;
- double
説明: 64ビットの浮動小数点数
範囲: ±4.9E-324 から ±1.7976931348623157E308
例:double d = 20.5;
- boolean
説明: 真(true)または偽(false)
範囲: なし(trueまたはfalse)
例:boolean isJavaFun = true;
- char
説明: 16ビットのUnicode文字
範囲: ‘\u0000’ から ‘\uffff’(0 から 65,535)
例:char letter = 'A';
参照型(リファレンスタイプ)
参照型は、オブジェクトのアドレス(参照)を保持します。これには、クラス、インターフェース、配列などが含まれます。
- String
説明: 文字列を保持するためのクラス。プリミティブ型ではなく、オブジェクトです。
例:String greeting = "Hello, world!";
- 配列
説明: 同じデータ型の複数の値を保持するオブジェクト。
例:int[] numbers = {1, 2, 3, 4, 5};
- クラス
説明: カスタムデータ型を定義するために使用される。
例:class Person { String name; int age; } Person person = new Person(); person.name = "Alice"; person.age = 30;
- インターフェース
説明: クラスが実装すべきメソッドのセットを定義する。
例:interface Animal { void makeSound(); } class Dog implements Animal { public void makeSound() { System.out.println("Woof"); } } Animal dog = new Dog(); dog.makeSound(); // Woof
変数の宣言と初期化の例
public class Main {
public static void main(String[] args) {
// 基本データ型の宣言と初期化
int age = 25;
double price = 19.99;
boolean isJavaFun = true;
char grade = 'A';
// 参照型の宣言と初期化
String greeting = "Hello, world!";
int[] numbers = {1, 2, 3, 4, 5};
// クラスの使用
Person person = new Person();
person.name = "Alice";
person.age = 30;
// 配列の要素へのアクセス
System.out.println("First number: " + numbers[0]);
// 変数の値を出力
System.out.println("Age: " + age);
System.out.println("Price: " + price);
System.out.println("Is Java fun? " + isJavaFun);
System.out.println("Grade: " + grade);
System.out.println("Greeting: " + greeting);
System.out.println("Person's name: " + person.name + ", age: " + person.age);
}
}
class Person {
String name;
int age;
}
コメント