Javaの制御構造

1。概要

最も基本的な意味では、プログラムは命令のリストです。制御構造は、これらの命令を通過するパスを変更できるプログラミングブロックです。

このチュートリアルでは、Javaの制御構造について説明します。

制御構造には次の3種類があります。

  • 2つ以上のパスから選択するために使用する条件付きブランチJavaには、if / else / else if三項演算子スイッチの3つのタイプがあります。
  • 複数の値/オブジェクトを反復処理し、特定のコードブロックを繰り返し実行するために使用されるループJavaの基本的なループタイプはforwhiledowhileです
  • ループ内の制御フロー変更するために使用される分岐ステートメントJavaには、breakcontinueの2つのタイプがあります。

2. If / Else / Else If

もし/ ELSE文は制御構造の最も基本的ですが、また、プログラミングにおける意思決定の非常に基礎を考えることができます。

一方であれば単独で使用することができ、最も一般的な使用シナリオは、2つのパスの間で選択された場合/他

if (count > 2) { System.out.println("Count is higher than 2"); } else { System.out.println("Count is lower or equal than 2"); }

理論的には、if / elseブロックを無限にチェーンまたはネストできますが、これはコードの可読性を損なうため、お勧めしません。

この記事の残りの部分では、別のステートメントについて説明します。

3.三項演算子

if / elseステートメントのように機能する省略式として三項演算子を使用できます。

if / elseの例をもう一度見てみましょう。

if (count > 2) { System.out.println("Count is higher than 2"); } else { System.out.println("Count is lower or equal than 2"); }

これは、次のように3元でリファクタリングできます。

System.out.println(count > 2 ? "Count is higher than 2" : "Count is lower or equal than 2");

三項はコードを読みやすくするための優れた方法ですがif / elseの代わりになるとは限りません。

4.スイッチ

選択するケースが複数ある場合は、switchステートメントを使用できます。

簡単な例をもう一度見てみましょう。

int count = 3; switch (count) { case 0: System.out.println("Count is equal to 0"); break; case 1: System.out.println("Count is equal to 1"); break; default: System.out.println("Count is either negative, or higher than 1"); break; }

3つ以上のif / elseステートメントは読みにくい場合があります。考えられる回避策の1つとして、上記のようにスイッチを使用できます。

また、スイッチにはスコープと入力の制限があり、使用する前に覚えておく必要があることにも注意してください。

5.ループ

同じコードを連続して複数回繰り返す必要がある場合は、ループを使用します。

比較可能なforタイプとwhileタイプのループの簡単な例を見てみましょう。

for (int i = 1; i <= 50; i++) { methodToRepeat(); } int whileCounter = 1; while (whileCounter <= 50) { methodToRepeat(); whileCounter++; } 

上記の両方のコードブロックは、methodToRepeatを50回呼び出します。

6.休憩

ループを早期に終了するには、breakを使用する必要があります。

簡単な例を見てみましょう:

List names = getNameList(); String name = "John Doe"; int index = 0; for ( ; index < names.length; index++) { if (names[index].equals(name)) { break; } }

ここでは、名前のリストで名前を探しています。見つけたら、探すのをやめたいと思います。

通常、ループは完了しますが、ここでブレークを使用してループを短絡し、早期に終了しました。

7.続行

簡単に言えば、続行は、現在のループの残りをスキップすることを意味します。

List names = getNameList(); String name = "John Doe"; String list = ""; for (int i = 0; i < names.length; i++) { if (names[i].equals(name)) { continue; } list += names[i]; }

ここでは、重複する名前をリストに追加することをスキップします。

ここで見たように、breakcontinueは反復するときに便利ですが、returnステートメントやその他のロジックで書き直すことができます。

8.結論

この簡単な記事では、制御構造とは何か、およびそれらを使用してJavaプログラムのフロー制御を管理する方法を学びました。

この記事に記載されているすべてのコードは、GitHubから入手できます。