ちょっと、そこ!スイッチのサプライヤーとして、私は特にプログラミングの観点から、スイッチに関するあらゆる種類の質問を受けることがよくあります。よく出てくる質問の 1 つは、「Java では switch ステートメントに論理式を含む case を含めることができますか?」というものです。さっそく見ていきましょう。


まず最初に、Java の switch ステートメントとは何なのかを簡単にまとめてみましょう。 switch ステートメントは、式の値に基づいてコードのさまざまな部分に実行をディスパッチする簡単な方法を提供する多方向分岐ステートメントです。基本的な例を次に示します。
int 日 = 3; switch (day) { case 1: System.out.println("Monday");壊す;ケース 2: System.out.println("火曜日");壊す;ケース 3: System.out.println("水曜日");壊す;デフォルト: System.out.println("無効な日"); }
この例では、switch ステートメントは、日変数。もし日1 の場合は「月曜日」が出力され、2 の場合は「火曜日」が出力されます。
さて、大きな問題は、ケースの中で論理式を使用できるかということです。従来の Java switch ステートメントでは、答えは「ノー」です。 Java では、switch ステートメントの case ラベルは定数式である必要があります。定数式は、コンパイル時に値を決定できる式です。整数、文字、列挙型定数などのリテラル値を指定できます。たとえば、次のようなことはできません。
int num = 5; switch (num) { case num > 3: // これは許可されません System.out.println("Greater than 3");壊す;デフォルト: System.out.println("3 以下"); }
この制限の背後にある理由は、Java コンパイラーは、switch ステートメントがコンパイル時に一致する可能性のある値を認識する必要があるためです。次のような論理式数値 > 3は実行時に評価されるため、ケースラベルとして使用できません。
ただし、Java は長年にわたって進化しており、Java 14 以降の導入により、「switch 式」と呼ばれるものが導入されました。 switch 式は、従来の switch ステートメントよりも強力で柔軟です。これらを使用すると、より簡潔な構文を使用でき、値を返すことができます。
スイッチ内で論理式を使用するのと同様のこと、つまりスイッチ式を使用した構造のようなものをどのように実現できるかを見てみましょう。使用できます収率キーワードを使用して、さまざまな条件に基づいて値を返します。以下に例を示します。
int num = 5;文字列結果 = switch (true) { case num > 3: yield "3 より大きい";デフォルト: yield "3 以下"; }; System.out.println(結果);
この例では、真実スイッチ式として。その後、それぞれの場合において、論理式を使用して条件を定義できます。ケース内の条件が true の場合、対応する収率ステートメントが実行され、値が返されます。
ここで、現実世界のスイッチについて少し話しましょう。スイッチサプライヤーとして、シンプルなメカニカルスイッチから高度なスイッチまで、あらゆる種類のスイッチを取り扱っています。電子圧力スイッチ。電子圧力スイッチは本当に素晴らしいです。これらは、産業オートメーション、HVAC システム、自動車アプリケーションなどの幅広いアプリケーションで使用されています。これらのスイッチは圧力の変化を感知し、圧力レベルに基づいてアクションをトリガーできます。
プログラミングで特定の条件に基づいて意思決定を行う必要があるのと同様に、物理世界でもスイッチも意思決定を行う必要があります。たとえば、電子圧力スイッチは、圧力が特定のレベルを下回るとポンプをオンにし、圧力が別のレベルを上回るとオフになるように設定できます。
プログラミングでは論理式を使って意思決定を行いますが、スイッチの世界ではセンサーやアクチュエーターが連携して物理的条件に基づいて意思決定を行います。両者の類似点を見るのは興味深いです。
プログラミング プロジェクト (カスタム制御システムの構築など) であっても、産業用アプリケーションであっても、高品質のスイッチをお探しの場合は、当社が対応します。当社は、信頼性と耐久性に優れ、お客様の特定のニーズを満たすように設計された幅広いスイッチを提供しています。
アプリケーションに適したスイッチを選択する場合は、入力の種類 (機械、電気、圧力など)、必要な動作範囲、環境条件などの要素を考慮することが重要です。たとえば、過酷な産業環境でスイッチを使用する場合、高温、振動、ほこりに耐えられるスイッチが必要になります。
当社には、プロジェクトに最適なスイッチの選択をお手伝いできる専門家チームがいます。 DIY プロジェクトに取り組む趣味のユーザーであっても、大規模な工業メーカーであっても、当社は適切なソリューションを提供できます。
当社のスイッチ製品にご興味がございましたら、お気軽にお問い合わせください。私たちはすべての質問に答え、技術サポートを提供し、調達プロセスを支援します。小規模なプロジェクトで単一のスイッチが必要な場合でも、大規模な生産で大量のスイッチが必要な場合でも、当社はお客様と協力して最良の取引を得ることができます。
結論として、従来の Java switch ステートメントでは case ラベルで論理式を使用できませんでしたが、Java の switch 式を使用すると同様の機能を実現できます。そして現実の世界では、スイッチのサプライヤーとして、次のようなさまざまなスイッチを提供しています。電子圧力スイッチ、あらゆるニーズにお応えします。スイッチをお探しの場合は、ぜひ当社にご相談ください。皆さんと一緒に働けることを楽しみにしています。
参考文献:
- Java言語仕様
- switch ステートメントと switch 式に関する Java 公式ドキュメント
