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 <= x && x <= upper; }
このメソッドを使用すると、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 ケース内で値の範囲の機能を実現できます。 Objective C の構文ほど簡潔ではありませんが、Java 内で信頼できるソリューションであることに変わりはありません。
以上がJava の Switch ステートメントは値の範囲を処理できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。