目次
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)を推奨。将来の運用を見据えた互換性・継続サポートが得られる。