Menu
Coddy logo textTech

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 */

データ型

プリミティブ型は小文字、対応するラッパークラスは大文字始まりです。

説明
int32 ビット符号付き整数
long64 ビット符号付き整数
double / float浮動小数点数
booleantrue または false
char16 ビットの Unicode 文字 1 つ
byte / short8 ビット / 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 / elseif (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 / continuebreak; はループを抜け、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 / catchtry { ... } catch (Exception e) { ... }
特定の例外をキャッチcatch (IOException e) { ... }
finallyfinally { ... } は必ず実行される
try-with-resourcestry (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() を使い、== はプリミティブ (intboolean など) や null のチェックにだけ使いましょう。
Java のストリームは何に使いますか?
Streams API (Java 8 以降) を使うと、手動のループの代わりに、filtermapsortedreducecollect といった読みやすい操作のパイプラインでコレクションを処理できます。list.stream() から始め、中間操作を連ねて、collect(Collectors.toList())forEach のような終端操作で締めくくります。データ変換のコードを簡潔で表現力豊かに保てます。
Java をオンラインで練習できますか?
はい。Java プレイグラウンドを開けば、このチートシートのどのスニペットも、ブラウザ上でコンパイルして実行できます。JDK のインストールは不要です。体系的に学びたいときは、Coddy の無料インタラクティブ Java コースが、変数とループからクラス、コレクション、ストリームまで段階的に導いてくれます。
このチートシートは初心者に向いていますか?
はい。最もよく使う構成要素 (型、制御フロー、メソッド) から高度なもの (ストリーム、ジェネリクス、例外) へと並べてあるので、初日から上のセクションを使い、残りには慣れながら進めます。
Coddy programming languages illustration

CoddyでJavaを学ぼう

始める