プログラムの「式」と「文」の違いを新人エンジニア向けに解説
こんにちは。ゆうせいです。
プログラムを書いていると、「式」と「文」という言葉に出会いますよね。最初は「どっちもコードの一部でしょ?」と思うかもしれません。でも、これらの違いを理解しておくと、プログラムの仕組みがスッキリ見えるようになります!
この記事では、Java の for
文 を例に、「式」と「文」の違いをわかりやすく解説します。
式(Expression)と文(Statement)の違い
まず、ざっくりとした違いを説明すると、
- 式(Expression):値を計算するもの
- 文(Statement):処理を実行するもの
例えば、次のようなコードを考えてみてください。
int a = 5 + 3;
この 5 + 3
の部分は 「式」 です。なぜなら、計算結果(8という値)を返すからです。
一方で、int a = 5 + 3;
全体は 「文」 です。なぜなら、処理を実行する命令になっているからです。
「文は式を含むことがある」という関係ですね。
for(int i = 0; i < 3; i++)
の各部分を見てみよう
for
文の中には、3 つの部分があります。
for (int i = 0; i < 3; i++) {
System.out.println(i);
}
この for
文のカッコ内の3つの項目を、それぞれ 「式」か「文」か」 を見てみましょう。
1. int i = 0;
→ 文(Statement)
これは 「変数の宣言と代入」 です。
変数 i
を作り、0 を代入しています。これは値を返すというより、「変数を作る・値をセットする」という処理なので 「文」 です。
2. i < 3
→ 式(Expression)
これは 「比較演算」 を行う部分です。
i
が 3 より小さいかどうかを判定し、true
または false
という値を返します。このように、何かの値を返すものは「式」 になります。
3. i++
→ 式(Expression)かつ文(Statement)
i++
は 「インクリメント演算」 です。
一見すると「i を増やしているだけ」ですが、実は i++
は値を返します。例えば、int a = i++;
のように書くと i++
の結果(元の i
の値)が a
に入ります。
- 値を返すため 「式」 でもある
- それ単体で使われると処理の一部になるため 「文」 でもある
つまり、i++
は「式としても文としても使えるもの」ということになります!
まとめ
コード | 式 or 文 | 理由 |
---|---|---|
int i = 0; | 文(Statement) | 変数を宣言し、値を代入する処理 |
i < 3 | 式(Expression) | true or false を返す |
i++ | 式 かつ 文 | 値を返しつつ、i を増やす |
もう少し踏み込むと…
「式と文の違い」をさらに深く理解するには、「式文(Expression Statement)」という概念も知っておくといいです。
例えば、次のようなコードを考えてみましょう。
i++;
この i++
は「値を返せる」ので式ですが、それ単体で書かれると 「文として扱われる」 んですね。こういう 「式を文として扱うもの」 を 「式文(Expression Statement)」 と呼びます。
「すべての式が文になるわけではないが、一部の式は文として使える」 というのがポイントです!
まとめ & 今後の学習のポイント
- 「式は値を返す」「文は処理を実行する」
for
のカッコ内の 3 つの部分を分類するとint i = 0;
は 文i < 3
は 式i++
は 式 かつ 文
i++
のように「式としても文としても使える」ものがある
「式と文の違い」は、最初はぼんやりしているかもしれません。でも、コードを書いていくうちに、「ここは値を返す?処理を実行する?」と考えるクセをつけると、自然と区別できるようになります。
もし疑問があったら、どんどん質問してくださいね!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
最新の投稿
- 新入社員2025年2月4日プログラムの「式」と「文」の違いを新人エンジニア向けに解説
- 全ての社員2025年2月4日当社の研修でChatGPTのアカウントが必要になった方々へ
- 新入社員2025年2月4日第9章 まとめと今後の展望
- 新入社員2025年2月4日第8章 実例研究と業界応用ケーススタディ