この章のテーマ §
前提知識 §
Console.WriteLineメソッド, 文字列の基礎, 変数の基礎, 条件演算子, int型, for文
解説 §
C#でソースコードを書いていると、しばしば【文法上何かステートメント(文)を書く必要があるが、特に書くことはない】という状況に遭遇します。
サンプルソースの場合、【変数を2倍にする】【100未満であることを判定する】という役割はfor文の中で完結しており、for文に後続する文は特に必要とされていません。しかし文法的には何か文を書かねばなりません。
こう言うときに使うのが空文(空のステートメント)です。
書き方は簡単で区切りのセミコロン記号のみ書きます。
これで文法的には1つの文と見なされますが、実行するものは何もなくなります。
罠の数々 §
- コメントは空文にならない。コメント単に読み飛ばされるだけなので、完全に何もない状態と同じ扱いになる
- 空の波括弧{}も【中味が何もない複文】となり、空文と同じように扱える
- うっかり不要のセミコロン記号を書き込んでしまい意図しない動作になってしまうことは、うっかりミスの定番である。特にfor文やif文の後に意図しないセミコロン記号を書き込まないように注意しよう
参考リンク §
空のステートメント
サンプルソース: emptyStatement §
int a = 1;
for (; a < 100; a*=2) ; // 空文の使用例
Console.WriteLine($"1を2倍にし続けて最初に100以上になった値は{a}です。");
実行結果 §
1を2倍にし続けて最初に100以上になった値は128です。
リポジトリ §
https://github.com/autumn009/CSharpPrimer2
練習問題 §
サンプルソースにセミコロン記号は合計5個書き込まれている。このうち空文にあたるのは何個だろうか。
- 0個
- 1個
- 2個
- 3個
- 5個
[[解答]]