
Java超|演算子と式の基本
式は、Javaの中で値へ変わる“技の構え”。演算子という技を読み取れるようになると、計算、代入、条件判定、文字列連結まで、コードの流れが一気に見えるようになる。
Javaのプログラムでは、数値を計算したり、条件を比べたり、文字列をつなげたり、変数に値を入れたりする場面がたくさん出てきます。
たとえば、次のようなコードです。
int power = 5 + 7;
System.out.println("修行値は " + power + " です。");この中にある 5 + 7 は、ただの記号の並びではありません。
Javaは 5 + 7 を見つけると、それを計算して 12 という値にします。このように、Javaが式を計算して結果を決めることを 評価 といいます。
3章では、変数に値を入れること、値を変更すること、キーボードから入力した値を変数に入れることを学びました。ここからさらに進むと、変数に入れる値を 計算で作る 場面が増えていきます。その中心にあるのが、式 と 演算子 です。
ドラゴンボール風にたとえるなら、式は 戦士が放つ一連の技の構え です。
演算子は、その技の動きを決める記号です。
オペランドは、技の対象になる数値や変数です。
| Javaの用語 | 意味 | ドラゴンボール風のたとえ |
|---|---|---|
| 式 | 評価されて値になるもの | 技の構え |
| 演算子 | 計算や比較などの働きをする記号 | 技の動きを決める型 |
| オペランド | 演算の対象になる値や変数 | 技の材料、対象 |
| 評価 | 式を計算して結果を決めること | 技を発動して結果を出す |
| 式の値 | 評価された後の結果 | 技を放った結果 |
たとえば、1 + 2 という式では、1 と 2 がオペランド、+ が演算子です。
Javaはこの式を評価して、3 という値にします。
1 + 2| 部分 | 役割 |
|---|---|
| 1 | オペランド |
| + | 演算子 |
| 2 | オペランド |
| 3 | 評価後の値 |
Javaを学び始めたばかりのころは、5 + 7 や price * count を、単なる記号の並びとして見てしまいやすいです。
しかし、Javaにとって式は、最終的に何らかの値になるものです。
数値になることもあります。
true や false になることもあります。
文字列になることもあります。
ここを理解できると、Javaのコードがぐっと読みやすくなります。
この計算はどこで行われるのか。
この + は足し算なのか、文字列の連結なのか。
この式は最終的にどんな値になるのか。
このように考えながら読むことで、Javaの処理の流れが見えてきます。
式は評価されて値になるもの
式とは、Javaが評価すると何らかの値になるものです。
たとえば、次のようなものが式です。
1 + 2
5 * 3
10 - 4
9 % 4これらは、Javaによって評価されると、最終的に値になります。
| 式 | 評価後の値 | 意味 |
|---|---|---|
| 1 + 2 | 3 | 1 と 2 を足す |
| 5 * 3 | 15 | 5 に 3 を掛ける |
| 10 - 4 | 6 | 10 から 4 を引く |
| 9 % 4 | 1 | 9 を 4 で割った余り |
ドラゴンボール風にたとえるなら、式は 技を出す前の構え です。
構えを見ただけでは、まだ結果は出ていません。
しかし、技が発動すると、相手に与える力や結果が決まります。
Javaでも同じです。
5 * 3 という式は、評価されることで 15 という値になります。
5 * 3この式は、Javaの処理の中では最終的に 15 として扱われます。
ここで大切なのは、式は書かれた形そのものではなく、評価された後の値として使われる ということです。
たとえば、次のコードを見てみます。
int total = 8 + 2;この場合、変数 total に入るのは、8 + 2 という文字の並びではありません。
8 + 2 が評価されて、10 になり、その 10 が total に入ります。
| 処理 | 内容 |
|---|---|
| 8 + 2 | 式 |
| 評価 | 10 になる |
| int total = 10; | total に 10 が入る |
この感覚が身につくと、代入、条件分岐、繰り返し処理も理解しやすくなります。
Javaコードを読むときは、式を見つけたら、まず これは最終的にどんな値になるのか と考えるのが大切です。
演算子とオペランド
式は、多くの場合、演算子とオペランドでできています。
| 用語 | 意味 | 例 |
|---|---|---|
| 演算子 | 計算や比較などの処理を表す記号 | +、-、*、/、%、>、= |
| オペランド | 演算の対象になる値や変数 | 1、2、price、count |
| 式 | 演算子とオペランドを組み合わせたもの | 1 + 2、price * count |
たとえば、次の式を見てみます。
1 + 2この式は、次のように分けられます。
| 部分 | 役割 |
|---|---|
| 1 | オペランド |
| + | 演算子 |
| 2 | オペランド |
ドラゴンボール風にたとえるなら、1 と 2 は技に使うエネルギーの材料です。
+ は、その材料をどう扱うかを決める技の型です。
つまり、演算子が 何をするか を決め、オペランドが 何に対して行うか を表します。
もう少し実用的な式で考えてみます。
price * countこの式では、price と count がオペランドです。
* が演算子です。
| 部分 | 役割 |
|---|---|
| price | オペランド |
| * | 演算子 |
| count | オペランド |
price に 1200、count に 3 が入っていれば、price * count は 3600 に評価されます。
int price = 1200;
int count = 3;
int sum = price * count;| 変数 | 値 |
|---|---|
| price | 1200 |
| count | 3 |
| sum | 3600 |
このように、式の中では、直接書いた数値だけでなく、変数もオペランドになります。
変数がオペランドになる場合は、その変数の中に入っている値が使われます。
図:式が評価されて値になる流れ

この図が示していること
この図では、1 + 2 という式が、オペランド、演算子、オペランドの組み合わせでできていることを表しています。
1 と 2 は演算の対象であり、+ はそれらを足すための演算子です。
Javaはこの式を評価し、最終的に 3 という値にします。
この図から分かること
式を読むときは、次の流れで考えると理解しやすくなります。
| 見るポイント | 考え方 |
|---|---|
| オペランド | 何を対象にするのか |
| 演算子 | どんな処理をするのか |
| 評価 | 結果としてどんな値になるのか |
つまり、式を見るときは これはどんな値になるのか と考えることが大切です。
この見方ができると、Javaの計算や代入の流れがかなり追いやすくなります。
式の評価とは
評価とは、式を計算して結果を決めることです。
たとえば、次の式があります。
5 * 3Javaがこの式を評価すると、結果は 15 になります。
次の式ならどうでしょうか。
10 - 4この式は評価されると、6 になります。
「評価」という言葉は少しかたく聞こえるかもしれません。
しかし、意味はとてもシンプルです。
式を見て、結果の値を決めること です。
ドラゴンボール風にたとえるなら、式は技の構え、評価は技を実際に発動する瞬間、式の値は技を放った結果です。
| ドラゴンボール風のたとえ | Javaでの意味 |
|---|---|
| 技の構え | 式 |
| 技を発動する | 評価 |
| 技の結果 | 式の値 |
| 技の型 | 演算子 |
| 技の対象 | オペランド |
Javaでは、プログラムのあちこちで評価が行われています。
たとえば、次のコードです。
int total = 8 + 2;この場合、8 + 2 が評価されて 10 になります。
その 10 が total に代入されます。
つまり、total に入るのは 8 + 2 という形ではなく、評価後の 10 です。
式の値を出力するプログラム
式の値を画面に表示すると、式が評価されていることを確認しやすくなります。
画面に出力するときは、System.out.println を使います。
ファイル名:Sample1.java
class Sample1
{
public static void main(String[] args)
{
// 気の修行ポイントを計算して表示する
System.out.println("気の修行ポイントは " + (5 + 7) + " 点です。");
// 必殺技を使ったあとの残り体力を計算して表示する
System.out.println("必殺技後の残り体力は " + (20 - 8) + " です。");
}
}実行結果
気の修行ポイントは 12 点です。
必殺技後の残り体力は 12 です。このプログラムでは、println の中に文字列と式を一緒に書いています。
(5 + 7)この部分は式です。
Javaはこの式を評価して、12 という値にします。
次の部分も式です。
(20 - 8)こちらも評価されると 12 になります。
ここで大切なのは、画面に表示されているのが 5 + 7 や 20 - 8 という式そのものではなく、評価された後の値だという点です。
Javaは println の中に式を見つけると、その式を評価し、結果の値を文字列とつなげて表示します。
| コード内の式 | 評価後の値 | 表示に使われる値 |
|---|---|---|
| 5 + 7 | 12 | 12 |
| 20 - 8 | 12 | 12 |
ドラゴンボール風に言えば、5 + 7 は修行ポイントを合成する技の構えです。
技が発動すると 12 点という結果になり、その結果がモニターに表示されます。
丸かっこで計算の順番をはっきりさせる
次のように、式を丸かっこで囲むことがあります。
System.out.println("気の修行ポイントは " + (5 + 7) + " 点です。");この丸かっこには、ここを先に計算してね とJavaに伝える役割があります。
もし丸かっこを書かないと、思った結果にならないことがあります。
System.out.println("気の修行ポイントは " + 5 + 7 + " 点です。");この場合、Javaは左から順番に処理します。
最初に、文字列と 5 がつながります。
気の修行ポイントは 5そのあと、さらに 7 が文字列としてつながります。
気の修行ポイントは 57 点です。つまり、5 と 7 が数値として足されるのではなく、文字列として連結されてしまいます。
| 書き方 | Javaの処理 | 結果 |
|---|---|---|
| "気の修行ポイントは " + (5 + 7) + " 点です。" | 5 + 7 を先に計算する | 気の修行ポイントは 12 点です。 |
| "気の修行ポイントは " + 5 + 7 + " 点です。" | 左から文字列としてつなげる | 気の修行ポイントは 57 点です。 |
初心者がつまずきやすいところなので、数値として計算してほしい部分は丸かっこで囲む、と覚えておくと安心です。
ドラゴンボール風にたとえるなら、丸かっこは 先に発動する技の結界 です。
結界で囲まれた技は、ほかの動きより先に発動します。
+ は足し算にも文字列連結にも使われる
Javaでは、+ は足し算だけに使うわけではありません。
文字列をつなげるときにも使います。
System.out.println("こんにちは" + "Java");この場合、+ は文字列をつなげる役割になります。
実行結果は次のようになります。
こんにちはJava一方で、次のように数値どうしに使うと、足し算になります。
System.out.println(3 + 4);実行結果は次のようになります。
7同じ + でも、相手が数値なのか文字列なのかによって役割が変わります。
| 書き方 | + の役割 | 結果 |
|---|---|---|
| 3 + 4 | 数値の足し算 | 7 |
| "こんにちは" + "Java" | 文字列の連結 | こんにちはJava |
| "結果は " + (3 + 4) | 計算結果と文字列の連結 | 結果は 7 |
| "結果は " + 3 + 4 | 左から文字列として連結 | 結果は 34 |
ドラゴンボール風にたとえるなら、+ は状況によって型が変わる技です。
数値どうしなら、力を合成する足し算の技になります。
文字列が関わると、言葉をつなげる連結の技になります。
そのため、+ を見つけたら、次のように確認するとよいです。
| 確認すること | 判断 |
|---|---|
| 数値どうしか | 足し算になりやすい |
| 文字列が含まれているか | 文字列連結になりやすい |
| 丸かっこがあるか | 丸かっこの中が先に評価される |
特に System.out.println の中では、文字列と数値を一緒に書くことが多いため、+ が文字列連結として働く場面がよくあります。
図:数値の足し算と文字列連結の違い

この図が示していること
この図では、同じ + でも、数値どうしなら足し算になり、文字列が関わると文字列連結になることを示しています。
左側では、3 + 4 が評価されて 7 になります。
右側では、"結果は " + 3 + 4 が左から処理され、結果は 34 になります。
この図から分かること
+ を見たら、必ず足し算だと決めつけないことが大切です。
特に System.out.println の中では、文字列と数値を一緒に書くことが多いため、+ が文字列連結として働く場面がよくあります。
数値として先に計算したい場合は、次のように丸かっこを使います。
System.out.println("結果は " + (3 + 4));この場合、3 + 4 が先に評価されるため、結果は次のようになります。
結果は 7Javaの四則演算
Javaでは、算数で使う記号と少し違う書き方をするものがあります。
特に、掛け算は × ではなく * を使います。
割り算は ÷ ではなく / を使います。
| 演算の種類 | Javaの演算子 | 例 | 評価後の値 |
|---|---|---|---|
| 足し算 | + | 3 + 2 | 5 |
| 引き算 | - | 7 - 1 | 6 |
| 掛け算 | * | 4 * 5 | 20 |
| 割り算 | / | 8 / 2 | 4 |
| 余り | % | 9 % 4 | 1 |
プログラミングでは、キーボードで入力しやすい記号が使われます。
そのため、数学の記号とJavaの記号を区別して覚えることが大切です。
| 数学の感覚 | Javaでの書き方 |
|---|---|
| 6 × 4 | 6 * 4 |
| 8 ÷ 2 | 8 / 2 |
| 9 を 4 で割った余り | 9 % 4 |
% は、余りを求める演算子です。
9 % 49 を 4 で割ると、商は 2、余りは 1 です。
そのため、9 % 4 の評価後の値は 1 になります。
ドラゴンボール風にたとえるなら、% はエネルギーを均等に分けたあとに残る 余りの気 を調べる技です。
たとえば、9個の修行玉を4人で同じ数ずつ分けると、1個余ります。
この余りを求めるのが % です。
式は変数への代入でも使われる
式は println の中だけで使うものではありません。
変数に値を入れるときにも使われます。
int total = 8 + 2;この場合、8 + 2 が評価されて 10 になり、その値が total に入ります。
| 処理 | 内容 |
|---|---|
| 8 + 2 | 式 |
| 評価 | 10 になる |
| int total = 10; | total に 10 が入る |
もう少し実用的な例を見てみます。
int capsulePrice = 1200;
int capsuleCount = 3;
int totalCost = capsulePrice * capsuleCount;この場合、capsulePrice * capsuleCount が式です。
capsulePrice は 1200、capsuleCount は 3 なので、capsulePrice * capsuleCount は 3600 に評価されます。
その結果、totalCost には 3600 が入ります。
| 変数 | 値 |
|---|---|
| capsulePrice | 1200 |
| capsuleCount | 3 |
| totalCost | 3600 |
ドラゴンボール風にたとえるなら、capsulePrice はカプセル1個の準備費、capsuleCount は個数、totalCost は合計準備費です。
capsulePrice * capsuleCount という式を評価することで、合計が求められます。
このように、式は変数と組み合わせて使うことで、プログラムの中で計算結果を保存できるようになります。
条件判定でも式は使われる
式は、計算だけでなく条件判定にも使われます。
たとえば、次のような式があります。
battleScore >= 60これは、battleScore が 60 以上かどうかを判定する式です。
評価結果は true または false になります。
| battleScore の値 | 式 | 評価後の値 |
|---|---|---|
| 80 | battleScore >= 60 | true |
| 45 | battleScore >= 60 | false |
このような式は、if 文などでよく使われます。
if (battleScore >= 60) {
System.out.println("修行試験に合格です。");
}ここでは battleScore >= 60 が評価され、その結果が true なら中の処理が実行されます。
ドラゴンボール風にたとえるなら、battleScore >= 60 は 修行試験を突破できるかどうかを判定する関門 です。
結果が true なら通過。
false なら、まだ修行が必要です。
| 式の種類 | 評価後の値 |
|---|---|
| 5 + 7 | 数値 |
| "結果は " + 7 | 文字列 |
| battleScore >= 60 | true または false |
このように、式は必ずしも数値だけになるわけではありません。
条件判定では、true または false になる式がとても重要になります。
演算子の優先順位に注意する
式の中に複数の演算子がある場合、Javaは決められた優先順位にしたがって評価します。
たとえば、次の式を見てみます。
2 + 3 * 4この式は、左から順番に 2 + 3 を先に計算するわけではありません。
掛け算の * は足し算の + より優先順位が高いため、3 * 4 が先に評価されます。
| 手順 | 評価 |
|---|---|
| 1 | 3 * 4 を評価して 12 |
| 2 | 2 + 12 を評価して 14 |
結果は 20 ではなく、14 です。
もし 2 + 3 を先に計算したい場合は、丸かっこを使います。
(2 + 3) * 4この場合は、丸かっこの中が先に評価されます。
| 手順 | 評価 |
|---|---|
| 1 | 2 + 3 を評価して 5 |
| 2 | 5 * 4 を評価して 20 |
| 書き方 | 評価後の値 |
|---|---|
| 2 + 3 * 4 | 14 |
| (2 + 3) * 4 | 20 |
ドラゴンボール風にたとえるなら、演算子には技の発動順があります。
* のような強い計算技は、+ より先に発動します。
ただし、丸かっこで囲むと、その中の技を先に発動できます。
初心者のうちは、迷いそうな式には丸かっこを付けると読みやすくなります。
丸かっこは、Javaにとっても読み手にとっても、計算の順番をはっきりさせる大切な目印です。
図:演算子の優先順位と丸かっこの役割

この図が示していること
この図は、同じ数字と演算子を使っていても、評価の順番によって結果が変わることを示しています。
2 + 3 * 4 では、掛け算が先に評価されるため、結果は14になります。
一方、(2 + 3) * 4 では、丸かっこの中が先に評価されるため、結果は20になります。
この図から分かること
式の中に複数の演算子がある場合、Javaは演算子の優先順位にしたがって評価します。
ただし、丸かっこを使うと、評価する順番をはっきり指定できます。
そのため、迷いそうな式や読み手に誤解されそうな式では、丸かっこを使うと分かりやすくなります。
これから学ぶ演算子につながる考え方
式と演算子の考え方は、この先のJava学習につながります。
今後は、単純な四則演算だけでなく、変数の値を増やしたり、減らしたり、代入と計算を組み合わせたりする演算子も出てきます。
| 今後学ぶ内容 | つながり |
|---|---|
| インクリメント演算子 | 変数の値を 1 増やす |
| デクリメント演算子 | 変数の値を 1 減らす |
| 代入演算子 | 評価した値を変数に入れる |
| シフト演算子 | ビットを左右に動かす |
| 演算子の優先順位 | どの演算を先に評価するかを決める |
| 型変換 | 式の中で値の型が変わる |
| キャスト演算子 | 型を明示的に変える |
たとえば、次のような式があります。
count++;これは、count の値を 1 増やす式です。
また、次のような書き方もあります。
total += price;これは、total に price を加えて、再び total に代入する式です。
このような書き方も、基本には 式は評価されて値になる、演算子は処理の働きを表す という考え方があります。
ドラゴンボール風にたとえるなら、今は基本の気弾や加算技を覚えている段階です。
これから先では、気を1段階上げる技、気を減らす技、複数の動きをまとめた技、ビットの位置を動かす技など、より細かい演算子を学んでいきます。
最初に式と演算子の土台をしっかり理解しておくと、あとから登場する少し複雑な演算子も受け止めやすくなります。
最初に押さえておきたい言葉
この記事で大切な言葉を整理します。
| 用語 | 意味 | 例 |
|---|---|---|
| 式 | 評価されて何らかの値になるもの | 1 + 2 |
| 演算子 | 計算や比較などの働きをする記号 | +、-、*、/ |
| オペランド | 演算の対象になる値や変数 | 1、2、price |
| 評価 | 式を計算して結果を決めること | 1 + 2 が 3 になる |
| 式の値 | 評価された後の結果 | 3 |
特に大事なのは、式は評価されて値になる という考え方です。
Javaのコードを読むときは、式を見つけたら、次のように考えてみてください。
| 見るポイント | 考え方 |
|---|---|
| どこが式か | 値になりそうな部分を探す |
| 演算子は何か | 足し算、掛け算、比較、代入などを見分ける |
| オペランドは何か | 数値、文字列、変数を確認する |
| 評価後の値は何か | 最終的にどんな値になるか考える |
| どこで使われるか | 出力、代入、条件判定などの流れを見る |
この視点を持つだけで、プログラムの流れがかなり見えやすくなります。
Javaの式は、計算だけでなく、代入、文字列連結、条件判定にも関わります。
演算子の働きを少しずつ見分けられるようになると、Javaコードは単なる記号の並びではなく、値が生まれて流れていく処理として読めるようになります。
