Java チートシート
最終更新
Hello World とプログラムの構造
すべての Java プログラムは、クラス内の main メソッドから実行されます。
| 要素 | コード |
|---|---|
| クラス宣言 | public class Main { ... } |
| エントリポイント | public static void main(String[] args) { ... } |
| 1 行を出力 | System.out.println("Hello, World!"); |
| 改行なしで出力 | System.out.print("text"); |
| 入力を読み取る | Scanner sc = new Scanner(System.in); |
| クラスをインポート | import java.util.ArrayList; |
| コメント | // line と /* block */ |
データ型
プリミティブ型は小文字、対応するラッパークラスは大文字始まりです。
| 型 | 説明 |
|---|---|
int | 32 ビット符号付き整数 |
long | 64 ビット符号付き整数 |
double / float | 浮動小数点数 |
boolean | true または false |
char | 16 ビットの Unicode 文字 1 つ |
byte / short | 8 ビット / 16 ビットの整数 |
String | 不変のテキスト (プリミティブではなくクラス) |
Integer, Double, Boolean | プリミティブのラッパークラス |
var | 推論されるローカル型 (Java 10 以降) |
変数
| 操作 | 構文 |
|---|---|
| 宣言と初期化 | int x = 5; |
| 型推論 (ローカル) | var name = "Ada"; |
| 定数 | final double PI = 3.14159; |
| 文字列の連結 | String s = "Hi " + name; |
| 文字列を int に変換 | int n = Integer.parseInt("42"); |
| int を文字列に変換 | String s = String.valueOf(42); |
| 書式付き文字列 | String.format("%d items", n) |
制御フロー
| 文 | 構文 |
|---|---|
| if / else | if (x > 0) { ... } else { ... } |
| switch 文 | switch (n) { case 1: ...; break; default: ...; } |
| switch 式 | var s = switch (n) { case 1 -> "one"; default -> "other"; }; |
| while ループ | while (i < n) { ... } |
| do-while ループ | do { ... } while (i < n); |
| for ループ | for (int i = 0; i < n; i++) { ... } |
| 拡張 for (for-each) | for (String item : list) { ... } |
| break / continue | break; はループを抜け、continue; は次の反復へ進む |
メソッド
| 操作 | 構文 |
|---|---|
| メソッドを定義 | int add(int a, int b) { return a + b; } |
| 戻り値なし | void greet() { ... } |
| static メソッド | static int square(int x) { return x * x; } |
| public メソッド | public String getName() { return name; } |
| 可変長引数 | int sum(int... nums) { ... } |
| メソッドを呼び出す | int r = add(2, 3); |
| static メソッドを呼び出す | Math.max(a, b); |
| メソッドのオーバーロード | int max(int a, int b) と double max(double a, double b) |
クラスとオブジェクト指向
| 操作 | 構文 |
|---|---|
| クラスを定義 | public class Dog { ... } |
| フィールド | private String name; |
| コンストラクタ | public Dog(String name) { this.name = name; } |
| オブジェクトを生成 | Dog d = new Dog("Rex"); |
| ゲッター / セッター | public String getName() { return name; } |
| 継承 | class Puppy extends Dog { ... } |
| インターフェース | interface Runnable { void run(); } |
| インターフェースを実装 | class Task implements Runnable { ... } |
| メソッドをオーバーライド | @Override public void speak() { ... } |
コレクション
java.util のジェネリックなコレクション。
| 型 | 用途と例 |
|---|---|
ArrayList<T> | 動的配列: list.add(1); list.get(0); list.size(); |
HashMap<K, V> | キーと値: map.put("a", 1); map.get("a"); |
HashSet<T> | 一意な値: set.add(5); set.contains(5); |
LinkedList<T> | 双方向リンクリスト。キュー/デキューに向く |
ArrayDeque<T> | スタック/キュー: dq.push(x); dq.pop(); |
| 配列 | int[] nums = {1, 2, 3}; |
| リストを反復 | for (T x : list) { ... } |
| マップを反復 | for (var e : map.entrySet()) { e.getKey(); e.getValue(); } |
ストリームとラムダ
コレクションに対する関数型スタイルのパイプライン (Java 8 以降)。
| 操作 | 構文 |
|---|---|
| ラムダ式 | x -> x * 2 |
| ストリームを作成 | list.stream() |
| フィルタ | .filter(n -> n > 0) |
| map / 変換 | .map(n -> n * 2) |
| ソート | .sorted() または .sorted(Comparator.reverseOrder()) |
| reduce / 合計 | .reduce(0, Integer::sum) |
| count / match | .count(), .anyMatch(n -> n > 5) |
| リストに集約 | .collect(Collectors.toList()) |
| 各要素に適用 | .forEach(System.out::println) |
よく使うパターン (try/catch、ジェネリクス)
| パターン | 構文 |
|---|---|
| try / catch | try { ... } catch (Exception e) { ... } |
| 特定の例外をキャッチ | catch (IOException e) { ... } |
| finally | finally { ... } は必ず実行される |
| try-with-resources | try (Scanner sc = new Scanner(...)) { ... } |
| 例外をスロー | throw new IllegalArgumentException("bad"); |
| ジェネリッククラス | class Box<T> { T value; } |
| ジェネリックメソッド | <T> T first(List<T> list) { ... } |
| 境界型 | <T extends Number> |
最もよく使う Java の構文、コレクション、ストリーム操作を 1 ページにまとめました。この Java チートシートは、Java を書くためのクイックリファレンスです。データ型、制御フロー、クラス、ArrayList/HashMap のコレクション、Streams API、そして日々使う例外とジェネリクスのパターンを収録しています。
ここに載っているものはすべて標準の Java (Java 8 以降) で、javac でコンパイルできます。必要なものをコピーするか、Java プレイグラウンドでどのスニペットもその場で試してみてください。JDK のインストールは不要です。
Java チートシート よくある質問
この Java チートシートは無料ですか?
はい。この Java チートシートは完全に無料で、登録も不要です。ブックマークしておけば、構文やコレクション、ストリーム操作を調べたいときにいつでも戻ってこられます。
Java の == と .equals() の違いは何ですか?
オブジェクトでは、
== は参照を比較し、2 つの変数がまったく同じオブジェクトを指しているかを調べます。一方 .equals() は中身を比較します。同じテキストを持つ別々の String オブジェクトは .equals() では等しくても == では等しくないことがあります。文字列やその他のオブジェクトを値として比較するときは必ず .equals() を使い、== はプリミティブ (int、boolean など) や null のチェックにだけ使いましょう。Java のストリームは何に使いますか?
Streams API (Java 8 以降) を使うと、手動のループの代わりに、
filter、map、sorted、reduce、collect といった読みやすい操作のパイプラインでコレクションを処理できます。list.stream() から始め、中間操作を連ねて、collect(Collectors.toList()) や forEach のような終端操作で締めくくります。データ変換のコードを簡潔で表現力豊かに保てます。Java をオンラインで練習できますか?
はい。Java プレイグラウンドを開けば、このチートシートのどのスニペットも、ブラウザ上でコンパイルして実行できます。JDK のインストールは不要です。体系的に学びたいときは、Coddy の無料インタラクティブ Java コースが、変数とループからクラス、コレクション、ストリームまで段階的に導いてくれます。
このチートシートは初心者に向いていますか?
はい。最もよく使う構成要素 (型、制御フロー、メソッド) から高度なもの (ストリーム、ジェネリクス、例外) へと並べてあるので、初日から上のセクションを使い、残りには慣れながら進めます。