ステートメントの書き方
Java では、ステートメントは構成の最小単位であり、各ステートメントでは終了文字としてセミコロンを使用する必要があります。さらに、Java にはステートメントに関するその他の制限がないため、開発者は独自のスタイルに合った方法でステートメントを自由に作成できます。
たとえば、次の例のように、ステートメントを複数行に配置できます。
String str = "Apple "
+"Banner "+"Pear "
+" Orange";
Java はステートメント終了文字としてセミコロンを使用するため、上記の 3 行のコードは、これら 3 行にセミコロンが 1 つしかないため、Java によって 1 つのステートメントとみなされます。ただし、この方法でステートメントを作成することはお勧めしません。
また、セミコロンが区切り文字として使用されるため、1 行に複数のステートメントを記述することができます。たとえば、以下のサンプルコードも正しいです。
int a = 0, b, c; b = a + 10; b ++; c = a * b; System.out.println(c);
上記は 5 つのステートメントを 1 行に記述します。
プログラムの文の配置をより美しく、読みやすくし、エラーをなくすために、ソースコードは一般に次の規則に従って整形されます。
- ステートメントは 1 行に 1 つだけ記述し、ステートメントが読みやすいようにスペースや空行を使用してください。
- Tab キーを使用して、各複合ステートメント内で右にインデントします。
- 中括弧は常に別の行に配置されるため、一致を確認しやすくなります。
空のステートメント
プログラム内で何もせず、実際のステートメントを含まない、いわゆる空のステートメント (Empty Statement)。プログラムでは、空ステートメントは主に空ループ本体として使用されます。
空のステートメントを実行すると、制御がステートメントのエンドポイントに移ります。したがって、空のステートメントが到達可能であれば、空のステートメントの終了点にも到達可能です。
式ステートメント
多くの高級言語には、特別な代入ステートメントがあります。 Java では代入は演算子であるため、代入式のみが存在します。代入式の後にセミコロンを追加すると、代入式が独立したステートメントになります。
以下に、いくつかの式のステートメントの例を示します。
3.1415926;
(a+b)/2;
x*y*z-y+(20-x);
これらの式は Java コンパイラによって認識されますが、プログラムには何も作用しないため、意味がありません。
一般的な式ステートメントは、変数の値の変更や関数パラメーターとしての操作などの操作を完了できる必要があります。これを行うには、式の左側に変数を指定して式の値を保存するか、式を関数に渡します。
複合ステートメント (ステートメント ブロックとも呼ばれます) は、多数のステートメントを組み合わせたもので、複数のステートメントを 1 つのステートメントと見なすことができます。
複合ステートメントの構文は次のとおりです。
{
statement-list // ステートメントリスト
}
これは、中括弧内に展開されたオプションのステートメントリストで構成されていることがわかります。ステートメント リストは 1 つ以上のステートメントで構成されるリストです。ステートメント リストがない場合、ステートメント ブロックは空であると言われます。
その実行ルールは次のとおりです。
- ステートメント ブロックが空の場合、制御はステートメント ブロックのエンドポイントに渡されます。
- ステートメント ブロックが空でない場合、制御はステートメント リストに渡されます。制御がステートメント リストの終点に到達すると、制御はステートメントの終点に渡されます。
例1
3 つのステートメントを含むステートメント ブロックを作成します。
{
width = 10; // width変数に値を代入する
height = 90; // height変数に値を代入する
area = width * height; // width変数とheight変数の積を計算する
}
上記のコードを実行すると、sum 変数の値は 900 になります。上記のステートメント ブロックには、中括弧内に 3 つのステートメントが含まれています。最初のステートメントは幅変数に値を割り当て、2 番目のステートメントは高さ変数に値を割り当て、3 番目のステートメントは幅と高さを乗算して結果を sum 変数に格納します。