変数とは
変数はデータを一時的に保存するためのコンテナです。Javaでは、変数を使用する前に宣言する必要があります。
// 変数の宣言と初期化
int number = 10;
String message = "Hello, Java!";
データ型の分類
Javaのデータ型は大きく分けて2種類あります:
1. プリミティブ型
- 整数型: byte, short, int, long
- 浮動小数点型: float, double
- 文字型: char
- 論理型: boolean
2. 参照型
- クラス型: String, Object, などのユーザー定義クラス
- 配列型: int[], String[], など
- インターフェース型: List, Map, など
プリミティブ型の詳細
型 | サイズ | 範囲 | デフォルト値 |
---|---|---|---|
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のローカル変数にはアクセスできない
}
}