2025-12-17

スポンサーリンク
Java

Java | 基礎文法:static メソッド

Static メソッドの全体像static メソッドは「クラスに属するメソッド」で、インスタンス(new で作るオブジェクト)を介さずに呼び出せます。数値計算や文字列整形など「個別の状態に依存しない処...
Java

Java | 基礎文法:オーバーロード

オーバーロードの全体像オーバーロードは「同じメソッド名に、引数の型・個数・並びが異なるバリエーションを定義する」仕組みです。呼び出し時の引数からコンパイラが最適な版を選びます。意味が近い処理を一つの名...
Java

Java | 基礎文法:戻り値

戻り値の全体像戻り値は「メソッドが処理の結果として外へ返す値」です。定義時に「戻り値の型」を決め、return で値を返します。値を返さない場合は型に void を指定します。戻り値は「関数型思考の中...
Java

Java | 基礎文法:引数

引数の全体像引数は「メソッドが外から受け取る入力」です。Java では、メソッド定義側で「型と名前」を宣言し、呼び出し側がその順番に値を渡します。戻り値は結果、引数は材料。設計の核心は「正しい型」「順...
Java

Java | 基礎文法:メソッド呼び出し

メソッド呼び出しの全体像メソッド呼び出しは「名前のついた処理を実行し、必要なら結果を受け取る」行為です。Java では「インスタンスメソッド(対象オブジェクトに対して呼ぶ)」と「static メソッド...
Java

Java | 基礎文法:メソッド定義

メソッド定義の全体像メソッドは「処理に名前をつけて再利用できるようにする単位」です。入力(引数)を受け取り、必要なら結果(戻り値)を返します。Java では「戻り値の型」「メソッド名」「引数の並び」「...
Java

Java | 基礎文法:for-each 文

for-each 文の全体像for-each(拡張 for 文)は「配列やコレクションの全要素を順に取り出して処理する」ための最短記法です。書式は for (要素の型 変数 : 配列またはIterab...
Java

Java | 基礎文法:2次元配列

2次元配列の全体像2次元配列は「配列の配列」です。行(外側)と列(内側)という2軸を持つ構造で、matrix のように2つの添字で要素へアクセスします。Java の2次元配列は「固定長の1次元配列を複...
Java

Java | 基礎文法:配列の長さ

配列の長さの基礎Java の配列は「固定長」です。作成時に決めた要素数は後から増減できません。長さはフィールド length で参照し、先頭の添字は 0、最後の添字は length - 1 です。配列...
Java

Java | 基礎文法:配列の要素アクセス

配列要素アクセスの全体像配列の要素アクセスは「添字(インデックス)で特定の位置の値を読み書きする」操作です。Java の配列は 0 始まりで、最後の要素の添字は length - 1。arr の形でア...
Java

Java | 基礎文法:配列の初期化

配列初期化の全体像配列の初期化は「配列オブジェクトを作る」と「要素に初期値を入れる」の2ステップです。Java の配列は長さが固定で、生成直後は型に応じたデフォルト値(数値は 0、boolean は ...
Java

Java | 基礎文法:配列の宣言

配列宣言の全体像配列は「同じ型の要素を並べて管理する入れ物」です。Java の配列は「長さが固定」「0 始まりの添字」「参照型(配列そのものはオブジェクト)」という3点が基本です。宣言は「型+角括弧+...
Java

Java | 基礎文法:無限ループ

無限ループの全体像無限ループは「終了条件が永遠に満たされず、ループが止まらない状態」です。Java では while (true) や for(;;) のように意図的に書くこともできますが、初心者が陥...
Java

Java | 基礎文法:do-while

do-while の全体像do-while は「本体を必ず1回実行してから条件を判定し、条件が true の間は繰り返す」構文です。通常の while と違い、最初の1回は無条件で実行されます。ユーザ...
Java

Java | 基礎文法:while 文

while 文の全体像while 文は「条件が true のあいだ、繰り返し続ける」ための基本構文です。回数が決まっていない繰り返し(入力が尽きるまで、成功するまで、条件が変わるまで)に向いています。...
Java

Java | 基礎文法:for 文

for 文の全体像for 文は「繰り返し」を最もコンパクトに書ける基本構文です。回数を決めて処理する、配列やリストを順番に処理する、といった場面で頻出します。伝統的な for (初期化; 条件; 更新...
Java

Java | 基礎文法:三項演算子

三項演算子の全体像三項演算子(条件演算子)は「条件に応じて値を一つ選ぶ」ための最短記法です。書式は 条件 ? 真のときの値 : 偽のときの値。if-else を1行で「値として」書けるのが強みで、変数...
Java

Java | 基礎文法:continue

continue の全体像continue は「現在の反復(1周)をスキップして、すぐ次の周回へ進む」ための制御文です。ループ本体の途中で「この条件なら残りは処理しなくていい」と判断したときに使います...
Java

Java | 基礎文法:break

break の全体像break は「いま実行中の繰り返し(ループ)や switch の処理を、途中でただちに打ち切る」ための制御文です。よく使う場面は「条件を満たした瞬間に探索終了」「エラー検知でそれ...
Java

Java | 基礎文法:switch 文

switch 文の全体像Java の switch 文は「ある値に応じて複数の分岐から一つを選んで実行する」ための構文です。if-else if 連鎖を簡潔に書けるのが特徴で、特に「定数や列挙値に応じ...
Java

Java | 基礎文法:else if

else if の全体像else if は「複数の条件を上から順に評価して、最初に一致した処理だけを実行する」ための構文です。if と else の間に挟み、分岐を段階的に重ねられます。評価は上から下...
Java

Java | 基礎文法:else 文

else 文の役割と基本else 文は、if の条件が false のときに実行する「もう一方の手」を明示します。分岐は「A ならこうする、そうでないなら別のこうする」という二者択一をシンプルに書ける...
Java

Java | 基礎文法:if 文

If 文の全体像Java の if 文は「条件が true のときだけ処理を実行する」ための最基本の制御構文です。条件は必ず boolean 型(true/false)で、C のように数値を真偽として...
Java

Java | 基礎文法:デクリメント

デクリメントの全体像デクリメントは「数値を 1 減らす」最短記法で、-- を使います。Java では「前置(--n)」と「後置(n--)」があり、式として使ったときの結果が異なります。対象は数値プリミ...
Java

Java | 基礎文法:インクリメント

インクリメントの全体像インクリメントは「数値を1つ増やす」ための最短記法です。++ を使うと、x = x + 1; を1文字で書けます。Java では「前置」と「後置」の2種類があり、式として使ったと...
Java

Java | 基礎文法:複合代入演算子

複合代入演算子の全体像複合代入演算子は「計算して、その結果を同じ変数に代入する」操作を一行で書ける記法です。x += y は x = x + y、x *= y は x = x * y と同義で、読みや...
Java

Java | 基礎文法:代入演算子

代入演算子の全体像代入演算子は「右側の式を評価して、その結果を左側の変数に入れる」ための基本ツールです。最も基本は =(代入)で、派生として「加算して代入」の += や「乗算して代入」の *= などの...
Java

Java | 基礎文法:論理演算子

論理演算子の全体像Java の論理演算子は条件を組み合わせて真偽を計算するための道具です。中心は短絡評価の &&(AND)と ||(OR)、反転の !(NOT)で、結果は必ず boolean(true...
Java

Java | 基礎文法:比較演算子

比較演算子の全体像Java の比較演算子は「式の真偽を判定して boolean を返す」ための基本ツールです。代表は ==、!=、<、>、<=、>= で、数値や文字の大小、同値性を判定します。重要なの...
Java

Java | 基礎文法:算術演算子

算術演算子の全体像Java の算術演算子は、足し算・引き算・掛け算・割り算・余り(剰余)を行うための基本ツールです。整数と小数で挙動が異なる点、型の自動拡張やオーバーフロー、ゼロ割りの結果など、初心者...
Java

Java | 基礎文法:真偽値

真偽値の全体像Java の真偽値は boolean 型で、取りうる値は true と false の二つだけです。C 言語のように 0 や非 0 を真偽として扱うことはできません。条件分岐(if)、繰...
Java

Java | 基礎文法:文字列リテラル

文字列リテラルの全体像Java の文字列リテラルは、ダブルクォートで囲んだ "..." の形でコードに直接書くテキストです。型は String クラスで、不変(immutable)なので作成後の内容は...
Java

Java | 基礎文法:数値リテラル

数値リテラルの全体像Java の「数値リテラル」は、コードに直接書く数値のことです。たとえば 42 や 3.14 のように書いたものがリテラルです。整数リテラルのデフォルト型は int、小数リテラルの...
Java

Java | 基礎文法:文字列型

文字列型の全体像Java の文字列は String クラスで表現され、テキストを扱うための最重要型です。String は不変(immutable)で、一度作った文字列の内容は変わりません。この不変性に...
Java

Java | 基礎文法:データ型(プリミティブ)

データ型(プリミティブ)の全体像Java のプリミティブ型は「値そのもの」を扱う最小単位のデータ型です。メモリ効率が良く、速度も速いので、数値計算やフラグ管理などの基礎に使われます。プリミティブは参照...
Java

Java | 基礎文法:変数の定義

変数の定義の全体像Java で「変数の定義」は、値にラベルを貼ってプログラム中で再利用できるようにする作業です。基本形は「型 名称 = 値;」で、型が先に来るのがポイントです。たとえば int age...
Java

Java | 基礎文法:コンパイルと実行

コンパイルと実行の全体像Java のプログラムは「ソースコード(.java)→ バイトコード(.class)→ JVM で実行」という三段構成で動きます。まず javac がソースをコンパイルして O...
Java

Java | 基礎文法:main メソッド

Main メソッドの役割Java の「プログラムの入口」は main メソッドです。JVM は指定されたクラスを読み込み、最初に public static void main(String[] ar...
Java

Java | 基礎文法:JDK と JRE

JDK と JRE の全体像Java を動かすには「実行環境」と「開発のための道具」が必要です。ここで登場するのが JRE(Java Runtime Environment)と JDK(Java De...
Java

Java | 基礎文法:Java の特徴

Java の特徴Java は「一度書けばどこでも動く(Write Once, Run Anywhere)」を目指して設計された言語です。プログラムはまず「バイトコード」にコンパイルされ、Java 仮想...
Java

Java 逆引き集 | ストリーム処理の設計ガイドライン(副作用禁止等) — 保守性向上

ねらいと基本原則ストリーム処理の保守性は「副作用を禁じる」「遅延評価を味方にする」「結合可能な集約を選ぶ」の三本柱で決まります。中間操作は純粋関数(入力だけに依存し、外部状態を変更しない)に徹し、副作...
Java

Java 逆引き集 | Stream を用いたデータ整形パイプライン設計 — パイプラインアーキテクチャ

ねらいと基本方針データ整形パイプラインは「取り込み → 正規化 → 検証 → 集約/変換 → 出力」の流れを、安全に、短く、遅延評価で組み立てる設計です。Stream を軸にすると、巨大データでもメモ...
Java

Java 逆引き集 | parallelStream のベンチマーク方法 — 実運用での検証

ねらいと前提parallelStream は「並列化すれば常に速い」魔法ではありません。効果が出る条件と落とし穴を理解し、順次と並列を同じ環境・同じ入力で比較するのが基本です。並列ストリームは For...
Java

Java 逆引き集 | Stream を使った CSV → オブジェクト変換 — ETL の簡潔化

ねらいと前提CSV をオブジェクトへ変換する ETL は「読み取り → クリーニング → 変換 → 検証 → 出力」の流れです。Stream を使えば、行を遅延で処理しながら宣言的に書けるため、巨大フ...
Java

Java 逆引き集 | lazy evaluation の理解(中間操作は遅延) — 無駄な処理回避

ねらいと前提Stream の中間操作(filter, map, sorted など)は「遅延評価」です。つまり、終端操作(collect, forEach, count など)が呼ばれるまで実行されま...
Java

Java 逆引き集 | Stream と Optional の良い組み合わせ — 値の有無ハンドリング

ねらいと前提値が「あるかもしれない/ないかもしれない」場面で、Optional は null 安全を保ちながら表現できます。Stream は「たくさんの値」を宣言的に流せます。この二つをうまく組み合わ...
Java

Java 逆引き集 | Stream API によるツリー/グラフ探索(再帰を使わないパターン) — 非再帰探索

ねらいと前提ツリー/グラフ探索は「親→子(隣接)」へ辿る処理です。再帰は直感的ですが、スタックあふれや制御の難しさが出ます。非再帰パターンでは、キュー(BFS)やスタック(DFS)を使って自分で「探索...
Java

Java 逆引き集 | reduce で複合オブジェクト集約 — ドメイン集計

ねらいと前提reduce は「ストリームの全要素をひとつの結果へ畳み込む」終端操作です。ドメイン集計では単なる数値の和ではなく、複数フィールドを持つ複合オブジェクト(件数・合計・最小・最大・補助メモな...
Java

Java 逆引き集 | ストリームでの並列グループ化(groupingByConcurrent) — 並列集計

ねらいと前提並列ストリームで「キーごとに集計」するなら、Collectors.groupingByConcurrent が最短で安全です。並列対応の ConcurrentHashMap を内部に使い、...
Java

Java 逆引き集 | キャッシング Collector(memoizing)パターン — 重い計算の最適化

目的と前提「重い計算」をストリームの中で何度も呼ぶと、CPUが燃え、待ち時間が伸び、並列化しても効果が出ません。キャッシング(memoizing)パターンは、同じ入力に対する結果を再利用して、計算を最...
Java

Java 逆引き集 | ストリームのデバッグ技(ログ出力・中間確認) — トラブルシュート

ねらいと前提「ストリームがどこでどう変わっているか」を素早く可視化できると、原因特定が一気に速くなります。中間確認の王道は peek と「小さく材質化(toList など)」の使い分けです。重要なのは...
Java

Java 逆引き集 | Stream と SQL の比較(いつ DB で処理すべきか) — 負荷分散判断

目的と前提「アプリ側で Stream に流すか、DB 側で SQL に任せるか」を正しく判断できると、性能・コスト・保守性が一気に安定します。根本の考え方はシンプルです。データ量が大きいほど「近いとこ...
Java

Java 逆引き集 | 組み合わせ生成(combinatorics via stream) — テストデータ作成

ねらいと基本指針テストデータを作るとき、組み合わせ(直積・順列・組合せ)を手早く生成できると検証の幅が一気に広がります。Java の Stream は「宣言的・短絡・遅延実行」が武器。巨大な結果を丸ご...
Java

Java 逆引き集 | Windowing(スライディング窓)パターン実装 — 時系列処理

目的と前提大量データを Stream で処理するとき、ボトルネックは「CPUよりメモリ」になりがちです。推定でも十分なので、どれだけメモリを消費するかを見積もり、材質化(toList/toMap)を最...
Java

Java 逆引き集 | Windowing(スライディング窓)パターン実装 — 時系列処理

目的と前提時系列処理で「連続 N 件」「直近 N 秒」のように、一定範囲のデータを滑らせながら集計するのがスライディング窓(windowing)です。Java 標準の Stream API には専用ウ...
Java

Java 逆引き集 | イテレータ→ストリームの変換(StreamSupport) — 外部API統合

目的と前提外部APIが Iterator(または Iterable)しか返さないときでも、Stream に変換すれば filter・map・collect などの強力な処理を宣言的に書けます。鍵になる...
Java

Java 逆引き集 | 並列 reduce の適切な設計(結合可能な演算) — 正しさの担保

目的と前提並列 reduce を正しく設計する鍵は「結合可能(結合律を満たす)な演算」と「適切な単位元(identity)」、そして「accumulator と combiner の整合性」です。並列...
Java

Java 逆引き集 | Stream サプライヤーパターン(Supplier を用いる) — 再生成可能性

目的と前提ストリームは「一度流したら終わり」の一回性を持ちます。同じパイプラインで複数の終端操作(count と toList など)をしたい、あるいは同じフィルタや変換を繰り返し適用したい場面では、...
Java

Java 逆引き集 | ストリームチェーンの分割と再利用 — 可読性/保守性

ねらいと基本原則ストリームは「1回流して終わり」の使い捨てモデルです。可読性と保守性を高めたいなら、再利用すべきはストリームそのものではなく「処理の定義(Predicate/Function/Coll...
Java

Java 逆引き集 | ストリームでのランダムアクセスの落とし穴 — パフォーマンス評価

概要と本質ストリームは「順次走査」に強く、「ランダムアクセス」に弱い仕組みです。配列や ArrayList のようなランダムアクセス向きのデータ構造でも、ストリームに乗せるとインデックス指定は基本的に...
スポンサーリンク