Java入門

1995年誕生。「Write Once, Run Anywhere」— 企業システム、Android、Webの基盤。

規格化された工場 (Standardized Factory)

Javaは「規格化された工場」です。 **JVM(仮想マシン)** = どこでも建てられる工場(Windows, Mac, Linux) **クラス** = 製品の設計図 **オブジェクト** = 設計図から作った製品 規格が厳しい(強い型付け)ので、不良品(バグ)が出にくく、大量生産(大規模開発)に向いています。

用語集

JVM
Java仮想マシン。どのOSでも動作。
GC
ガベージコレクション。自動メモリ管理。
クラス
オブジェクトの設計図。.javaファイル。
バイトコード
JVM用の中間コード。.classファイル。
LTS
長期サポート版。本番環境向け。

Hello World

HelloWorld.java
// HelloWorld.java
// File name must match class name
public class HelloWorld {
public static void main(String[] args) {
// Entry point of every Java program
System.out.println("Hello, World!");
// Variables with types
String name = "Java";
int version = 21;
System.out.println(name + " version " + version);
}
}

コンパイルと実行

terminal
# Compile: .java -> .class (bytecode)
javac HelloWorld.java
# Run: JVM executes .class file
java HelloWorld
実行結果
Hello, World!
Java version 21
Bad
// Bad: Poor practices
public class a { // Single letter class name
public static void main(String[] x) {
int n = 5; // Meaningless variable name
System.out.println(n);
}
}
Good
// Good: Clear and readable
public class Calculator {
public static void main(String[] args) {
int userAge = 25; // Descriptive name
System.out.println("Age: " + userAge);
}
}

Javaバージョン

versions.java
// Java Version History (LTS = Long Term Support)
//
// Java 8 (2014) - Lambda expressions, Stream API
// Java 11 (2018) - LTS, var for local variables, HTTP Client
// Java 17 (2021) - LTS, Records, Sealed Classes, Pattern Matching
// Java 21 (2023) - LTS, Virtual Threads, Sequenced Collections
//
// Always choose LTS versions for production
Tip: 本番環境では必ずLTS版(11, 17, 21)を使う。非LTS版はサポート期間が短い。

エコシステム

ecosystem.java
// Ecosystem and Frameworks
//
// Web Development:
// Spring Boot - Most popular, microservices
// Jakarta EE - Enterprise standard
// Quarkus - Cloud-native, fast startup
//
// Build Tools:
// Maven - pom.xml, dependency management
// Gradle - build.gradle, flexible, fast
//
// Mobile:
// Android SDK - Native Android apps
// (Kotlin is now preferred for Android)

合格ライン

Hello Worldを書いてコンパイル・実行できる
JVMの役割を説明できる
LTS版を選ぶ理由を説明できる
Spring Bootの用途を知っている

参考リンク

dev.java/learn — Oracle公式チュートリアル
Baeldung — Java & Spring実践ガイド
Roadmap.sh - Java — 学習ロードマップ

演習課題

課題1: Hello World
Hello World プログラムを作成してコンパイル・実行してください。
課題2: JVMの役割
JVMがなぜ必要か説明してください。

次のステップ