カテゴリ: JavaSilver試験対策 更新日: 2026/06/07

Javaの型と初期化に関する基礎知識を徹底解説!初心者でも安心

014
Javaの型と初期化

先生と生徒の会話形式で理解しよう

生徒

「Javaで変数を初期化するときに、どの型に何を代入できるのかよくわからないんです。」

先生

「良い質問ですね。それでは、Javaの基本的な型の初期化方法について詳しく説明しましょう!」

生徒

「よろしくお願いします!」

1. 配列の初期化

1. 配列の初期化
1. 配列の初期化

Javaでは、配列を初期化する方法はいくつかあります。たとえば、次のように2次元配列を初期化できます。


public class ArrayExample {
    public static void main(String[] args) {
        int[][] numbers = {{3, 5}, {7, 9}};
        System.out.println(numbers[0][0]); // 出力: 3
    }
}

このコードでは、int[][]型の2次元配列numbersを初期化しています。初期化時に要素を指定すれば、即座に利用可能です。

2. キャストによる型変換

2. キャストによる型変換
2. キャストによる型変換

型を変換するときはキャストを使います。以下はchar型をshort型にキャストする例です。


public class TypeCastingExample {
    public static void main(String[] args) {
        char letter = 'B';
        short code = (short) letter;
        System.out.println(code); // 出力: 66
    }
}

このコードでは、文字'B'がUnicode値(66)としてshort型に変換されます。

3. 比較演算子とboolean型

3. 比較演算子とboolean型
3. 比較演算子とboolean型

比較演算子の結果はboolean型になります。次の例を見てみましょう。


public class BooleanExample {
    public static void main(String[] args) {
        boolean isEqual = (20 == 20);
        System.out.println(isEqual); // 出力: true
    }
}

このコードでは、20 == 20の結果がtrueとなり、boolean型の変数isEqualに代入されています。

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

4. float型とリテラルの注意点

4. float型とリテラルの注意点
4. float型とリテラルの注意点

浮動小数点数リテラルはデフォルトでdouble型として解釈されます。float型として扱う場合は、リテラルにfを付ける必要があります。


public class FloatExample {
    public static void main(String[] args) {
        float price = 19.99f;
        System.out.println(price); // 出力: 19.99
    }
}

このコードでは、19.99fという形式でfloat型の値を明示しています。

5. 数値リテラルの区切り記号

5. 数値リテラルの区切り記号
5. 数値リテラルの区切り記号

Javaでは数値リテラルにアンダースコア_を使って読みやすくすることができます。


public class NumberLiteralExample {
    public static void main(String[] args) {
        int largeNumber = 1_000_000;
        System.out.println(largeNumber); // 出力: 1000000
    }
}

このコードでは、1_000_000という形式で数値リテラルを記述していますが、出力時にはアンダースコアは無視されます。

6. プリミティブ型と参照型の初期値

6. プリミティブ型と参照型の初期値
6. プリミティブ型と参照型の初期値

Javaでは変数を宣言した際、明示的に初期化しない場合に割り当てられる「初期値」に注意が必要です。特にクラスのフィールド(メンバ変数)として宣言した場合、型ごとに決まった値が自動的にセットされます。

  • 数値型(int, doubleなど): 0 または 0.0
  • boolean型: false
  • 参照型(String, 配列など): null

未経験の方でも分かりやすいように、初期値がどのようになるかを確認するプログラム例を見てみましょう。


public class DefaultValueExample {
    static int number;
    static boolean flag;
    static String text;

    public static void main(String[] args) {
        System.out.println("int型の初期値: " + number);
        System.out.println("boolean型の初期値: " + flag);
        System.out.println("参照型(String)の初期値: " + text);
    }
}

int型の初期値: 0
boolean型の初期値: false
参照型(String)の初期値: null

ただし、メソッドの中で宣言した「ローカル変数」は自動で初期化されません。初期化せずに使おうとするとコンパイルエラーになるため、必ず値を代入してから使う癖をつけましょう。

7. String型の初期化とnull・空文字の違い

7. String型の初期化とnull・空文字の違い
7. String型の初期化とnull・空文字の違い

文字列を扱うString型では、「何も入っていない状態」の表し方が2種類あります。それがnull(ヌル)空文字("")です。これらを混同すると、プログラムが途中で止まってしまう原因になります。

それぞれの違いをサンプルコードで比較してみましょう。


public class StringInitExample {
    public static void main(String[] args) {
        String emptyStr = "";    // 空文字(長さ0の文字列が存在する)
        String nullStr = null;   // null(参照先がどこにもない状態)

        System.out.println("空文字の長さ: " + emptyStr.length());
        // System.out.println(nullStr.length()); // これはエラーになります!
        
        System.out.println("emptyStrの内容: [" + emptyStr + "]");
        System.out.println("nullStrの内容: " + nullStr);
    }
}

空文字の長さ: 0
emptyStrの内容: []
nullStrの内容: null

nullは「リモコンはあるが、操作するテレビ本体がない」ような状態です。本体がないのに操作(メソッドの呼び出し)をしようとするとエラーが発生するため、初期化時にはできるだけ空文字や具体的な値を設定するのが安全です。

8. 定数の宣言と初期化(final)

8. 定数の宣言と初期化(final)
8. 定数の宣言と初期化(final)

一度代入した値を後から変更したくない場合には、finalキーワードを使って定数として初期化します。消費税率や円周率など、プログラム全体で変わってほしくない値を守るために非常に重要です。

定数の変数名は、慣習としてすべて大文字で記述し、単語の区切りにアンダースコアを使います。


public class FinalExample {
    public static void main(String[] args) {
        final double TAX_RATE = 1.1; // 消費税10%を定数として初期化
        int price = 1000;

        double totalPrice = price * TAX_RATE;
        // TAX_RATE = 1.08; // ここで値を書き換えようとするとエラーになります

        System.out.println("税込価格は: " + (int)totalPrice + "円です。");
    }
}

税込価格は: 1100円です。

finalを付けることで、間違えて値を上書きしてしまうミスを防ぐことができます。安全なプログラムを作るためには、変更する必要のない変数は積極的に定数として初期化するようにしましょう。

まとめ

まとめ
まとめ

この記事では、Javaの型と初期化についての基本を学びました。それぞれの型の特徴や初期化方法、そしてキャストやリテラルの注意点について具体的なサンプルコードを交えて解説しました。これらの知識はJavaプログラムを書く際の基礎となり、エラーの回避やコードの可読性向上に役立ちます。 例えば、配列の初期化方法を理解することで、複雑なデータ構造を効率的に扱えるようになります。また、キャストを活用して異なる型間の変換を行うスキルは、柔軟なプログラミングの鍵となります。 さらに、float型リテラルの扱いや数値リテラルの可読性向上のためのアンダースコアの利用といった細かなポイントにも触れました。これらを活用することで、より正確かつ効率的なコーディングが可能になります。


public class SummaryExample {
    public static void main(String[] args) {
        int[][] exampleArray = {{1, 2}, {3, 4}};
        System.out.println(exampleArray[1][1]); // 出力: 4

        char character = 'A';
        int charToInt = (int) character;
        System.out.println(charToInt); // 出力: 65

        float exampleFloat = 10.5f;
        System.out.println(exampleFloat); // 出力: 10.5

        int largeNumber = 1_234_567;
        System.out.println(largeNumber); // 出力: 1234567
    }
}

以上のような知識を組み合わせることで、Javaプログラミングの理解が深まります。基礎を押さえた上で応用に進むことで、より高度な課題にも対応できるようになるでしょう。

先生と生徒の振り返り会話

生徒

「今回学んだことで、Javaの型や初期化について少し自信が持てました!」

先生

「良かったです。特に、配列やキャスト、リテラルの扱い方は実際にコードを書く上でとても重要なので、しっかり復習してくださいね。」

生徒

「はい!あと、数値リテラルにアンダースコアを使えるのは知らなかったので、早速活用してみたいです。」

先生

「それは良いアイデアですね。小さな工夫がコードの可読性に大きく影響しますよ。次回はもう少し応用的な内容に進みましょう!」

生徒

「ありがとうございます!楽しみにしています!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Javaで配列を初期化するにはどうすればいいですか?

Javaでは、配列を初期化するには中括弧{}を使って要素を指定します。たとえば、int型の2次元配列なら{{1,2},{3,4}}のように記述することで初期化できます。

Javaの2次元配列の初期化方法を具体的に知りたいです。

Javaの2次元配列は、型名[][] 配列名 = {{要素列}, {要素列}}という形式で初期化できます。複数の行と列のデータを整理して保持できます。

Javaでキャストとは何ですか?型変換の方法を教えてください。

キャストとは、Javaで異なる型同士の変換を行う操作です。たとえば、char型からshort型に変換するには、(short)変数名のように記述します。
JavaSilver試験対策の一覧へ
新着記事
Java
Java の古い日付クラス(Date, Calendar)と新しい日付 API の違い
JavaのDateとCalendarと新しい日付APIの違いとは?初心者向け完全ガイド
Java
Java のカレンダー機能(java.util.Calendar)の使い方
JavaのCalendarクラスの使い方をわかりやすく解説!日付や時刻の操作に便利な基本機能まとめ
Flutter
Dartのパッケージ管理(pubspec.yaml)の使い方
FlutterとDartのパッケージ管理完全ガイド!pubspec.yamlの使い方を初心者向けに徹底解説
Java
Java のミリ秒(Unix タイムスタンプ)を取得・変換する方法
JavaでUnixタイムスタンプ(ミリ秒)を取得・変換する方法を徹底解説!
人気記事
Java
Java の Random クラスを使ってランダムな数値を生成する方法
JavaのRandomクラスの使い方を完全ガイド!初心者でもわかる乱数生成
Java
Java の getter メソッドと setter メソッドの使い方
Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
AWS
【AWS】VPCとは?初心者向けに仕組み・用途・できることをわかりやすく解説
【AWS】VPCとは?初心者向けに仕組み・用途・できることをわかりやすく解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク