変数とデータ型

変数とは

変数はデータを一時的に保存するためのコンテナです。Javaでは、変数を使用する前に宣言する必要があります。

                    
// 変数の宣言と初期化
int number = 10;
String message = "Hello, Java!";
                    
                

データ型の分類

Javaのデータ型は大きく分けて2種類あります:

1. プリミティブ型

2. 参照型

プリミティブ型の詳細

サイズ 範囲 デフォルト値
byte 8ビット -128 〜 127 0
short 16ビット -32,768 〜 32,767 0
int 32ビット -2,147,483,648 〜 2,147,483,647 0
long 64ビット -9,223,372,036,854,775,808 〜 9,223,372,036,854,775,807 0L
float 32ビット 約±3.40282347E+38F(6〜7桁の精度) 0.0f
double 64ビット 約±1.79769313486231570E+308(15桁の精度) 0.0d
char 16ビット 0 〜 65,535(Unicode文字) '\u0000'
boolean 1ビット true または false false

変数の宣言と初期化

変数の宣言構文は次のとおりです:

                    
// 変数の宣言
データ型 変数名;

// 変数の宣言と初期化
データ型 変数名 = 初期値;

// 複数の変数を一度に宣言
int a, b, c;
int x = 10, y = 20, z = 30;
                    
                

型変換

Javaでは、データ型間での変換が可能です。

1. 自動型変換(暗黙的型変換)

小さい型から大きい型への変換は自動的に行われます:

                    
byte b = 100;
int i = b;  // 自動的にbyteからintに変換される
                    
                

2. 明示的型変換(キャスト)

大きい型から小さい型への変換は明示的に行う必要があります:

                    
double d = 100.5;
int i = (int)d;  // 小数点以下は切り捨てられ、i = 100となる
                    
                

定数(final変数)

一度値を設定すると変更できない変数を定数と呼びます。Javaではfinalキーワードを使用します:

                    
final double PI = 3.14159;
// PI = 3.0; // コンパイルエラー:finalな変数には代入できない
                    
                

変数のスコープとライフタイム

変数のスコープとは、その変数がアクセス可能な範囲のことです:

                    
public class ScopeExample {
    private int instanceVar = 10;  // インスタンス変数(フィールド)
    
    public void method1() {
        int localVar = 20;  // ローカル変数
        System.out.println(instanceVar);  // インスタンス変数にアクセス可能
        System.out.println(localVar);  // ローカル変数にアクセス可能
    }
    
    public void method2() {
        System.out.println(instanceVar);  // インスタンス変数にアクセス可能
        // System.out.println(localVar);  // コンパイルエラー:method1のローカル変数にはアクセスできない
    }
}