Javaの基本ルール一覧(WSL/Ubuntu共通)
正直気の進まないjavaですが、どうしても触らければいけない状況になってしまったので最低限のルールを備忘録として残しました
① ファイル名とクラス名は一致させる
public class Hello → ファイル名は Hello.java
一致していないと コンパイルは通るが実行時にエラーになる
② メインクラスには main メソッドが必要
public static void main(String[] args) {
// エントリーポイント
}
Javaアプリの実行はここから始まる
main がないと java Hello しても "Main method not found" エラー
③コンパイル (javac で .java → .class に)
javac Hello.java
生成される Hello.class は JVM用のバイトコード
.java はソースコード、.class は中間コード
④ 実行時は .class の拡張子を つけない
java Hello # ← OK
java Hello.class # ← ❌ エラー
⑤ クラスパス(パッケージ)に注意する
複数のクラスファイルやパッケージに分ける場合、
コンパイル時に -d オプションで出力先を指定
実行時に -cp(classpath)を指定
javac -d . MyApp.java
java mypackage.MyApp
⑥ コメントや構文のルールも厳格
セミコロン ; の付け忘れ → コンパイルエラー
大文字小文字が区別される → Main と main は別物
予約語は使えない(class, int, public など)
実行までの流れまとめ(ルール付き)
ファイル名とクラス名は一致
vi Hello.java
中身
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
コンパイル
javac Hello.java # → Hello.class ができる
実行(拡張子なし)
java Hello