- 05-07 Javaのメソッドオーバーロード — シグネチャと成立条件
結論 概念 役割 オーバーロード 同じクラス内に同名のメソッドを複数定義すること 成立条件 引数の型リスト(型・個数・順序)が異なること シグネチャ メソッド名 + 引数の型リスト(戻り値・修飾子・throwsは含まない) コンストラクタ 同じ仕組みで複数定義できる オーバーロードとは 同じクラス内に同名のメソッドを複…
- 05-05 JavaのList — ArrayListの使い方と代表メソッド
結論 概念 役割 List 順序付けられた要素の集合。インデックスで値を管理する 重複 許可(同じ値を複数持てる) 主な実装クラス ArrayList(配列ベース、ランダムアクセスが速い) 複数の値をまとめて扱う仕組みを コレクションフレームワーク と呼び、Listはその代表格。配列との違いは「サイズが可変」「便利メソ…
- 05-05 JavaのMap — HashMapの使い方と代表メソッド
結論 概念 役割 Map キー(key)と値(value)の組 を格納するコレクション キーの重複 不可(同じキーに put すると値が上書きされる) アクセス方法 キー指定 で値を取得(Listのインデックスアクセスとの違い) 主な実装クラス HashMap(ハッシュテーブルベース、検索が速い) 「IDから名前を引く…
- 05-05 JavaのSet — HashSetの使い方と重複排除
結論 概念 役割 Set 順不同・重複なし の要素集合 順序 保証されない(HashSet の場合) 主な用途 重複排除 と 存在確認の高速化 主な実装クラス HashSet(ハッシュテーブルベース) 「同じ要素を1つしか持たない」ことを保証したいときに使う。List.contains() が O(N) なのに対し、H…
- 05-05 JavaのMap実装クラスの選び方 — HashMap/LinkedHashMap/TreeMap
HashMap・LinkedHashMap・TreeMapの順序保証・計算量・用途を比較し、選択基準を整理する。
- 05-04 catch (Exception e) を深掘り — 多態性・スコープ・型の絞り方
結論 catch (Exception e) は、書き方としては便利だが、意図しない例外まで巻き込んで判別不能にするので使いどころに注意。中で起きていることを分解すると次の3点に整理できる。 観点 内容 e の正体 例外オブジェクトを束縛するローカル変数。文法はメソッドの仮引数と同形 捕まえる範囲 catch (X e…
- 05-04 Javaの例外処理と例外クラス階層
結論 概念 役割 例外処理 実行中に発生したエラーで強制終了させず、別の振る舞い(通知・回復・伝播・打ち切り)に差し替える仕組み 例外クラス 発生したエラーの種類を表すクラス。Throwable を頂点とする3階層で整理されている チェック例外 / 非チェック例外 コンパイラが処理記述を強制するかどうかで分かれる 例外…
- 05-04 Javaのthrowsとthrow — 似て非なる2つのキーワード
結論 throws と throw は1文字違いだが、役割は別物。むしろ対になる関係。 キーワード 書く場所 意味 throws メソッド宣言の末尾 「このメソッドは指定した例外を投げるかもしれない」と呼び出し元に宣言する throw メソッド本体の中 「ここで例外を実際に発生させる」 throws は予告、throw…
- 05-04 Javaのtry-catch — 複数catch・マルチキャッチ・finally
結論 形態 用途 基本 try-catch 例外発生時の処理を1ブロックで受ける 複数 catch 例外の種類ごとに違う処理を書きたいとき マルチキャッチ(\ ) 複数の例外を同じ処理で一括して受けたいとき try-catch-finally 例外の有無にかかわらず必ず通したい処理(リソース解放など)を書く 例外処理の…
- 05-02 Javaの == と equals() の使い分け
結論 比較 用途 == 参照先(メモリ上の場所)を比較 .equals() 中身(値・文字列の内容)を比較 ただし基本データ型(プリミティブ)か参照型かで == の意味が変わるので、そこから順に整理する。 基本データ型と参照型で == の挙動が変わる Javaの型は2系統に分かれ、== の意味も変わる。 型カテゴリ 例…
- 04-30 Javaにおけるパッケージ
パッケージとは? Javaにおける「パッケージ」とは、プログラムをフォルダのように階層化して整理したもの。 パッケージ内に保管されるプログラムの先頭に基本構文が記載される。 パッケージ内のプログラムを別のパッケージから利用するときはimport文を利用する。 パッケージの中のすべてのクラスをインポートする場合はアスタリ…
- 04-26 Eclipseのデバッグモードで1ステップずつ動きを確認する
Javaのコードをトレースするには Javaのコードについて処理を確認する際に、変数の値の変化をトレースする。 このトレースの方法は複数あるが、今回はEclipseにおけるデバッグモードで確認する方法についてまとめる。 サンプルコード while文を試すための簡単なJavaクラス。totalが100以上になるまでiを足…
- 04-26 Javaのswitch文
Javaのswitch文とは? 変数の値によって、処理を分岐させる処理を実装するのがswitch文 基本構文 - breakに処理が停止される。つまり、case 値1のbreakがない場合は、処理1と処理2が実行される。 - case 値:の:はコロン。セミコロンではないことに注意。 - defaultはどのcaseの…