Java

Javaとは

Javaは、企業システムからWeb、Android、IoTまで幅広く使われるオブジェクト指向言語です。本記事では、特徴、JDK/JRE/JVMの関係、基本文法、開発環境、主要フレームワーク、実務のベストプラクティスまでを一気に把握します。

目次

  • Javaとは
  • Javaの主な特徴
  • JDK/JRE/JVMの関係
  • 最初の一歩:Hello, World
  • 基本文法の要点
  • 開発環境とビルドツール
  • 主な活用領域
  • 実務のベストプラクティス
  • よくある質問(FAQ)
  • 関連記事(内部リンク)

Javaとは

Javaは強い型付けと豊富な標準ライブラリを備え、JVM(Java Virtual Machine)上で動作するためプラットフォームに依存しにくいのが特長です。「一度書けばどこでも動く(Write Once, Run Anywhere)」を掲げ、長期運用に適した互換性の高さから、金融・製造・通信・公共領域での採用が根強く続いています。

Javaの主な特徴

  • 移植性:JVMがOS差異を吸収。
  • 堅牢性:例外処理、ガーベジコレクション、強い型付け。
  • ライブラリの充実:コレクション、並行処理、I/O、ネットワーク等。
  • エコシステム:Spring / Jakarta EE、監視・CI/CD・テストの周辺が成熟。
  • 互換性:後方互換を重視、長期運用プロジェクトに適合。

JDK/JRE/JVMの関係

  • JDK(Java Development Kit):開発用。コンパイラ(javac)やツール群を含む。
  • JRE(Java Runtime Environment):実行用。JVM+標準ライブラリ。
  • JVM(Java Virtual Machine):Javaバイトコードを実行する仮想マシン。
    開発者は通常JDKを導入します(JRE単体配布は近年のLTSでは縮小傾向)。

最初の一歩:Hello, World

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, World");
    }
}
  • 保存:Main.java
  • コンパイル:javac Main.java
  • 実行:java Main

基本文法の要点

変数・型

int count = 10;
double price = 123.45;
String name = "Alice";
boolean active = true;

制御構文

if (count > 0) {
    System.out.println("positive");
} else {
    System.out.println("zero or negative");
}

for (int i = 0; i < 3; i++) {
    System.out.println(i);
}

クラスとメソッド

class Greeter {
    private final String message;
    Greeter(String message) { this.message = message; }
    public String greet(String name) { return message + ", " + name; }
}
// 使用例
Greeter g = new Greeter("Hello");
System.out.println(g.greet("Bob"));

例外処理

try {
    int x = Integer.parseInt("100");
} catch (NumberFormatException e) {
    // ログやリカバリ処理
}

コレクション(List/Map)

import java.util.*;

List<String> items = new ArrayList<>();
items.add("A"); items.add("B");

Map<String, Integer> stock = new HashMap<>();
stock.put("apple", 10);
stock.put("banana", 5);

開発環境とビルドツール

  • IDE:IntelliJ IDEA(推奨)、Eclipse、VS Code(拡張機能)。
  • ビルド:Maven または Gradle(依存管理・ビルド・テスト自動化)。
  • JDK:LTS(例:17 など)を選択すると運用が安定。

主な活用領域

  • 企業基幹:会計・販売・在庫・生産管理などのサーバーサイド。
  • Webアプリ:Spring Boot を中心にAPI/バックエンドで広く採用。
  • Android:Kotlinが主流化も、Java資産は依然多数。
  • データ処理:大規模分散処理(例:JVM系エコシステム)。

実務のベストプラクティス

  • LTS版JDK+定期更新(セキュリティパッチ適用)。
  • Spring Boot + Gradle/Maven を標準構成に。
  • JUnitでユニットテスト、AssertJ/Mockitoで可読性・保守性を向上。
  • ロギングはSLF4J(API)+Logback(実装)を基本。
  • 静的解析(SpotBugs/Checkstyle)とCIで品質を継続監視。
  • 例外はドメイン例外と技術例外を区別、メッセージに原因と対処を明記。
  • プロジェクト規約(命名・パッケージ構成・レイヤ設計)を文書化。

よくある質問(FAQ)

Q1. JavaとKotlinはどちらが良い?
 AndroidはKotlin優位ですが、企業バックエンドでは
 Javaの資産・人材・運用ノウハウが豊富。 用途と体制で選択。

Q2. まず何から学ぶべき?
  JDK導入→IDE設定→「Hello, World」→
 コレクション・例外→JUnit→簡単なAPI(Spring Boot)という順が効率的。

Q3. 学習用のJDKはどれを入れる?
 LTS(例:17)を推奨。将来の運用を見据えた互換性・継続サポートが得られる。