Java ではデータ型として表 1 に示した 8 種類が定義されています。
Java ではこの 8 つのデータ型の事を「プリミティブ型」と呼んでいます。
このプリミティブ型を使って定義した変数は C 言語の変数と同じ様にメモリ上に生データが直に置かれます。
| 型 | 値 |
|---|---|
| boolean | true または false |
| byte | 8ビット整数 |
| char | 1 文字(16 ビットUnicode文字) |
| short | 16ビット整数 |
| int | 32ビット整数 |
| float | 32ビット実数(単精度浮動小数点数) |
| long | 64ビット整数 |
| double | 64ビット実数(倍精度浮動小数点数) |
ついでですので、String 型 (正確には String クラス)についてもここで説明します。
String 型は文字列を表すデータ型で、例えば次のようにして使います。
public class Main{
public static void main(String[] args) {
String str1; // 定義
String str2 = "hoge"; // 定義と同時に初期化
str1 = "fuga"; // 代入
String str3 = str1 + str2; // + は連結になる ( str3 には"fugahoge"が入る )
System.out.println( "str3 は "+str3+" です" );
// 文字列の比較は == ではなくて 変数名.equals(文字列) を使う
if( str1.equals("fuga") ){
System.out.println( "str1 は fuga です" );
}
if( ! str2.equals("fuga") ){
System.out.println( "str2 は fuga ではありません" );
}
}
}
ところで、プリミティブ型で定義した変数はインスタンスではなくてメモリ空間に直置きされます。
そのためオブジェクト指向言語である Java でそのまま利用するには不都合な場合があります(例えばリストを使いたい時など)。
そこでプリミティブ型を使えない状況では対応する「ラッパークラス」を使って変数を定義します。
プリミティブ型とラッパークラスの対応を表 2 に示します。
まお、今回のアクティビティでは基本的にはプリミティブ型を使って変数を定義しますが、状況に応じてラッパークラスを使用する場合もあります。
ラッパークラスの具体的な使い方はその時に適宜説明したいと思います。
| プリミティブ型 | ラッパークラス |
|---|---|
| boolean | Boolean |
| byte | Byte |
| char | Character |
| short | Short |
| int | Integer |
| float | Float |
| long | Long |
| double | Double |