ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
本稿は Java の条件分岐に関する記事です。Java の条件分岐には、大きく if 文とswitch 文の 2 種類があります。条件に応じて処理を分岐させたいときに使い、プログラムの「もし〜なら」を表現するための基本構文です。
各文の詳細は子ページを参照してください。
本ページの子ページ
if 文の基本構文
|
// 単純な if |
switch 文の基本構文
|
switch (day) { |
switch 式 (Java 14+)
Java 14 以降、switch 式として値を返す書き方が利用できます。break 不要・複数値の指定が可能で、フォールスルー事故を防げます。
|
String name = switch (day) { |
条件式で使う演算子
| 分類 | 演算子 |
|---|---|
| 比較 | == != < > <= >= |
| 論理 | && (AND) || (OR) ! (NOT) |
| 型 | instanceof |
if と switch の使い分け
| シチュエーション | 適切な選択 |
|---|---|
| 2〜3 分岐、範囲条件 | if / if-else if |
| 1 つの値に対する多くの等価判定 | switch |
列挙型 (enum) の網羅 | switch (Java 14+ の式形式が読みやすい) |
| 論理式・複合条件 | if |
| パターンマッチ (Java 21+) | switch + パターン |
switch 文で使える型
byte/short/int/char- 対応するラッパクラス (
Byte、Integer等) String(Java 7+)enum- Java 21+ ではパターンマッチングでクラス型も扱える
三項演算子 (条件演算子)
|
String label = (score >= 60) ? "合格" : "不合格"; |
短い分岐や代入式の中で便利ですが、複雑な条件には if を使った方が可読性が高いです。
注意点
- == は値の比較。
String等のオブジェクトでは.equals()を使う - switch の break 漏れは意図しない fall-through を招く。switch 式 (
->) なら防げる - else を書かない多段 ifは条件抜けを生みやすい。早期 return / 早期 continue を活用
- boolean 比較で
== trueは冗長 (if (x)でよい) - NullPointerException — オブジェクト比較前に null チェックを忘れない (Java 7+ の
Objects.equalsが便利) - 列挙型の switch では default を書くか、すべての enum 値を網羅するかをコードレビューで確認
関連
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?