Java

スポンサーリンク
Java

Java 逆引き集 | クラス設計の基本(単一責任) — 保守性を高める

クラス設計の基本(単一責任) — 保守性を高める「クラスは、変わる理由を一つだけ持つ。」単一責任の原則は、この一文に尽きます。役割を一つに絞ると、変更の影響が限定され、読みやすくテストもしやすいコードになります。初心者でも踏み外しにくい、現...
Java

Java 逆引き集 | アクセス修飾子(public/private/protected/default) — カプセル化

アクセス修飾子(public / private / protected / default) — カプセル化Javaの アクセス修飾子 は「どこからそのクラスやメンバにアクセスできるか」を制御する仕組みです。カプセル化(内部の詳細を隠し、...
Java

Java 逆引き集 | final の使い方(変数・クラス・メソッド) — 不変性確保

final の使い方(変数・クラス・メソッド) — 不変性確保Javaの final は「これ以上変更できない」という意味を持ちます。対象が 変数 か クラス か メソッド かによって効果が変わります。初心者向けに、コード例とテンプレートを...
Java

Java 逆引き集 | static とインスタンスの違い — 状態管理

Static とインスタンスの違い — 状態管理「static はクラスに属する」「インスタンスはオブジェクトに属する」。この一言が本質です。どの状態を“全体共有”にするか、“個別”にするかで、設計の見通しが大きく変わります。初心者向けに、...
Java

Java 逆引き集 | インスタンス生成(new)とファクトリパターンの基礎 — オブジェクト管理

インスタンス生成の基本(new)Javaでオブジェクトを作る最も基本的な方法は new。コンストラクタを呼び、必要な初期化を済ませて“使える状態”のインスタンスを得ます。class User { private final String i...
Java

Java 逆引き集 | 可変引数メソッド(…) — 汎用ユーティリティ

可変引数メソッド(...) — 汎用ユーティリティJavaでは、メソッドの引数の数が決まっていない場合に 可変長引数(varargs) を使えます。これにより「0個以上の引数」を柔軟に受け取ることができ、ユーティリティメソッドを簡潔に書けま...
Java

Java 逆引き集 | forEach とラムダの基本(簡単な処理) — 可読性向上

forEach とラムダの基本 — 可読性向上ラムダは「短く書ける無名の関数」、forEachは「コレクションの各要素に処理を当てる」ためのメソッドです。従来の for 文より読みやすく、意図が伝わりやすいコードになります。初心者向けに、L...
Java

Java 逆引き集 | List / Map / Set の基本概念(インターフェース) — データ構造選択

List / Map / Set の基本概念(インターフェース) — データ構造選択Javaのコレクションフレームワークには「データをどう扱うか」を決める基本インターフェースが用意されています。代表的なのが List, Set, Map。そ...
Java

Java 逆引き集 | 配列(一次元・多次元) — 固定長データ処理

配列(一次元・多次元) — 固定長データ処理Javaの配列は「同じ型のデータをまとめて扱う箱」。サイズは固定で、宣言時に決めた長さを変えることはできません。一次元配列は「横一列」、多次元配列は「表や行列」のように扱えます。初心者向けに基本か...
Java

Java 逆引き集 | StringBuilder / StringBuffer — 文字列連結の効率化

StringBuilder / StringBuffer — 文字列連結の効率化文字列を何度も結合・加工する処理では、Stringの「不変性」が足かせになりがちです。StringBuilder と StringBuffer は“可変のバッフ...
Java

Java 逆引き集 | String 操作(concat, substring, format) — 表示・ログ処理

String 操作(concat, substring, format) — 表示・ログ処理文字列は「表示」「ログ」「メッセージ生成」で毎日のように使います。Javaの代表的な操作である concat(結合)、substring(切り出し)...
Java

Java 逆引き集 | null/Optional の使い分け — NPE 回避、意図の明示

null/Optional の使い分け — NPE 回避、意図の明示Javaでよくあるバグの一つが NullPointerException (NPE)。「変数が null なのにメソッドを呼んでしまった」ことで発生します。これを避けるため...
Java

Java 逆引き集 | カスタム例外の作り方 — 明確なエラー伝搬

カスタム例外の作り方 — 明確なエラー伝搬「何が問題か」を正確に伝えるのが例外の役割。標準例外だけでは業務の意図が伝わりにくい場面で、カスタム例外が活躍します。APIレイヤでは、呼び出し側が“何をどう処理すべきか”判断しやすい形でエラーを返...
Java

Java 逆引き集 | 例外処理(try / catch / finally) — 安定性と後始末

例外処理(try / catch / finally) — 安定性と後始末プログラムは「想定外のエラー」に出会うことがあります。ファイルが見つからない、数値が不正、ネットワークが切れる…。こうしたときに 例外処理 を使うと、プログラムが途中...
Java

Java 逆引き集 | 戻り値(参照/プリミティブ) — API レイヤ設計

戻り値(参照/プリミティブ) — API レイヤ設計メソッドは「処理の結果」を返すことができます。この結果を 戻り値 と呼びます。戻り値には プリミティブ型(int, double, boolean など)と 参照型(String, 配列,...
Java

Java 逆引き集 | メソッド定義と引数(可変長引数) — 再利用可能ロジック

メソッド定義と引数(可変長引数) — 再利用可能ロジックプログラムを整理して「同じ処理を何度も使えるようにする」のが メソッド。引数は「外から渡す材料」。可変長引数は「材料の数が決まっていないとき」に便利です。初心者向けに、基本から例題まで...
Java

Java 逆引き集 | ループ(for / enhanced for / while) — 集合処理とレコードループ

ループ(for / enhanced for / while) — 集合処理とレコードループ同じ処理を繰り返すとき、Javaでは主に for、enhanced for(拡張 for)、while を使います。集合(配列・リスト)を順番に処理...
Java

Java 逆引き集 | 条件分岐(if / switch) — ビジネスロジックの分岐

条件分岐(if / switch) — ビジネスロジックの分岐プログラムは「状況に応じて処理を変える」ことが多いです。Javaでは代表的に if文 と switch文 を使います。初心者向けに「どんなときに使うか」「書き方のテンプレート」「...
Java

Java 逆引き集 | 型変換(キャスト、ボクシング/アンボクシング) — データ受け渡し時

型変換の概要(キャスト/ボクシング/アンボクシング)異なる型どうしでデータを受け渡すとき、Javaは「キャスト(型変換)」で数値型を変えたり、「ボクシング/アンボクシング」でプリミティブ型とラッパー型を自動変換します。暗黙的キャストは安全な...
Java

Java 逆引き集 | 変数宣言(プリミティブ/参照型) — 型選びと初期化

変数宣言の基本Javaの変数は「型 名称 = 初期値;」の形で宣言します。型は“何を入れる箱か”を決めるもの。プリミティブ型は値そのものを、参照型は“モノが置いてある場所(アドレス)”を持ちます。// プリミティブ型(値そのもの)int a...
Java

Java | 「配列+ArrayList+多次元配列+toString / deepToString」総合バグ修正問題集

では今回は、「配列+ArrayList+多次元配列+toString / deepToString」総合バグ修正問題集(50問)」 を紹介します。初心者~中級者向けに、「間違いを見つけて修正する形式」 に統合します。基礎(1~10問)問題 ...
Java

Java | 多次元配列+ArrayList:バグ修正問題集

では今回は、「多次元配列+ArrayList版のバグ修正問題」20問 を紹介します。配列と ArrayList を混ぜた問題で、初心者〜中級者向けに 間違いを見つけて修正する形式 にしています。問題 1ArrayList<int[]> li...
Java

Java | Java初心者向け 配列操作 総まとめ教材

では、Java初心者向け「配列操作 総まとめ教材」 を作ります。対象は これから配列を学ぶ人 で、1次元・2次元・多次元・ArrayList・表示方法・よくある間違い を全部まとめた教材です。例題・図解・注意点・練習問題付きで作ります。1....
Java

Java | 配列と List の複雑ネストをまとめた ASCII 図+出力例付きの一覧

では、配列と List の複雑ネストをまとめた ASCII 図+出力例付きの一覧を作ります。これで「多次元・ネスト構造での println / toString / deepToString の挙動」が一目でわかるようになります。1. ネス...
Java

Java | フォールスルーのある switch を戦略パターンで安全に置き換える 練習問題

「フォールスルーのある switch を戦略パターンで安全に置き換える練習問題集」を用意しました。複数条件をまとめたいケースを題材にして、switch文のフォールスルーを戦略パターンへリファクタリングする練習ができます。練習問題1:季節判定...
Java

Java | switch文リファクタ手法の比較

では「switch → 戦略パターン → enum+戦略 → Map+ラムダ」の流れを整理して、どの場面でどの手法を選ぶべきかを比較表にまとめますね。switch文リファクタ手法の比較手法特徴メリットデメリット適用場面switch文値ごとに...
Java

Java | switch文を戦略パターンにリファクタリングする練習問題」

「switch文を戦略パターンにリファクタリングする練習問題」をいくつか用意しました。実務でありがちなケースを題材にしています。練習問題1:注文ステータス管理元コード(switch)switch (status) { case "NEW":...
Java

Java | フォールスルーを使わないで同じ挙動を実現するリファクタ例(戦略パターンなど)

「フォールスルーを使って複数条件をまとめる」代わりに、戦略パターン(Strategy Pattern)などの設計パターンを使うと、より柔軟で保守性の高いコードになります。戦略パターンでのリファクタ例元のコード(フォールスルーあり)switc...
Java

Java | switch文のデバッグでフォールスルーを見つける方法

「switch文のデバッグでフォールスルーを見つける方法」ですね。実務でよくハマるポイントなので、整理してコツをまとめます。フォールスルーとは?breakを書き忘れると次のcaseまで処理が流れる現象。意図的に使う場合もあるが、初心者や実務...
Java

Java | 実務で使う switch 文のテンプレート集(例外・ログ対応つき)

「実務で使える switch 文のテンプレート集」を、例外処理やログ出力を組み込んだ形でまとめてみます。業務コードでは「ただ分岐する」だけでなく、異常系の扱いやログ記録が重要になるので、それを意識したサンプルを紹介します。基本テンプレート(...
スポンサーリンク