Java の switch ステートメントは各ケースで値の範囲を利用できますか?
Java では、switch ステートメントは一連のケースに対して単一の値を評価しますラベル。ただし、ケースラベルには範囲ではなく個別の値のみを含めることができます。このため、Objective C などの言語からインスピレーションを得て、そのような動作が可能なのか疑問に思うかもしれません。
範囲を処理するための Java のアプローチ
Objective C とは異なり、Java はそうではありません。 switch case ステートメント内の値の範囲をネイティブにサポートします。これは、指定したコード スニペットがコンパイル エラーになることを意味します。
代わりに、Java は論理比較を使用した回避策を提供します。 「isBetween」のようなヘルパー メソッドを定義して、値が範囲内にあるかどうかを判断できます。
public static boolean isBetween(int x, int lower, int upper) { return lowerこのメソッドを使用すると、if-else if 構造を使用して switch ステートメントを書き直すことができます。
if (isBetween(num, 1, 5)) { System.out.println("testing case 1 to 5"); } else if (isBetween(num, 6, 10)) { System.out.println("testing case 6 to 10"); }このアプローチを利用すると、switch case 内で値の範囲の機能を実現できます。 Objective C の構文ほど簡潔ではありませんが、Java 内で信頼できるソリューションであることに変わりはありません。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3