ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
Java の基本構文ルール
Java は C 系の文法を継承した静的型付け / クラスベースのオブジェクト指向言語です。記述ルールを 1 つでも守らないとコンパイルエラーになるため、最初に押さえるべきポイントを整理します。
1. ファイル名とクラス名
1 つの .java ファイルには通常 1 つの public クラスを書き、ファイル名はそのクラス名 + .java と完全一致させます。
// ファイル名: Hello.java
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
// ファイル名が hello.java や Hello.JAVA だとコンパイル失敗
// → error: class Hello is public, should be declared in a file named Hello.java
2. 文末セミコロンと大文字小文字
- 文 (statement) の終端は必ず
;。改行だけでは終わりにならない - Java は case sensitive:
Stringとstringは別物 (後者は型として存在しない) - キーワード (
class,public,void) はすべて小文字
3. 命名規則 (Naming Convention)
| 対象 | 規則 | 例 |
|---|---|---|
| クラス / インタフェース | PascalCase (UpperCamelCase) | UserService, HttpClient |
| メソッド / 変数 | camelCase (lowerCamelCase) | getUserName(), userId |
| 定数 (static final) | SNAKE_CASE (UPPER_SNAKE_CASE) | MAX_RETRY, DEFAULT_PORT |
| パッケージ | 全小文字、ドット区切り、ドメイン逆順 | com.example.app |
| 型パラメータ (Generics) | 1 文字大文字 | T, E, K, V |
| 列挙型 (enum) 値 | SNAKE_CASE | ACTIVE, SUSPENDED |
4. main メソッド (エントリポイント)
public class App {
// 必須シグネチャ: public static void main(String[] args)
public static void main(String[] args) {
// args はコマンドライン引数 (java App foo bar → args = ["foo", "bar"])
for (String a : args) {
System.out.println(a);
}
}
}
// Java 21+ では Unnamed Class & Instance Main Methods で省略可能 (Preview)
void main() {
System.out.println("Hello");
}
5. コメント 3 種類
// 1行コメント (行末まで)
/*
* 複数行コメント
* ブロック全体が無視される
*/
/**
* Javadoc コメント。クラス・メソッド・フィールドの上に書く。
* javadoc コマンドで HTML ドキュメントを生成できる。
*
* @param name 利用者名
* @return 挨拶文
* @throws IllegalArgumentException name が null の場合
* @since 1.0
*/
public String greet(String name) {
return "Hello, " + name;
}
6. package と import
// ファイル先頭: パッケージ宣言 (省略するとデフォルトパッケージ)
package com.example.app.service;
// import 文 (パッケージ宣言の直後)
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import static java.lang.Math.PI; // static import で PI を直接使える
public class UserService {
private List<String> users = new ArrayList<>();
public double area(double r) {
return PI * r * r; // Math.PI と書かなくて良い
}
}
7. コンパイルと実行
# 単一ファイル
javac Hello.java # → Hello.class
java Hello # 実行
# パッケージ付き (src/com/example/App.java)
javac -d out src/com/example/App.java
java -cp out com.example.App
# Java 11+ : ソース直接実行
java Hello.java
# Maven プロジェクト
mvn compile
mvn package # → target/*.jar
mvn exec:java -Dexec.mainClass=com.example.App
# Gradle プロジェクト
./gradlew build
./gradlew run
8. エンコーディング
Java ソースは UTF-8 で書くのが現代の標準。javac -encoding UTF-8 を明示するか、Maven / Gradle 設定で UTF-8 を指定しないと、Windows 環境で文字化けの原因になります。
<!-- Maven pom.xml -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
9. 推奨スタイルガイド
| ガイド | 特徴 |
|---|---|
| Google Java Style Guide | 2 スペースインデント、行 100 文字。OSS 系で多い |
| Oracle Code Conventions | 古いが基本。4 スペースインデント、行 80 文字 |
| Checkstyle / SpotBugs / PMD | 静的解析でルール強制 |
| google-java-format | Google スタイルで自動整形 (IntelliJ プラグイン有) |
FAQ
Q: ファイル名とクラス名は必ず一致?
A: public クラスは一致が必須。public でないクラスを補助的に同じファイルに置くのは可能ですが、可読性のため 1 ファイル 1 公開クラスが推奨。
Q: セミコロンを忘れた場合のエラーは?
A: error: ';' expected。次の行も巻き込んで複数のエラーが出ることが多いので、最初の 1 件を直してから再コンパイル。
Q: String[] args は String args[] でも良い?
A: 両方コンパイル可能ですが、型の後ろに [] が現代スタイル。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?