PythonとJavaの演算子の共通点と相違点を徹底解説!これを読めば迷わない!
こんにちは。ゆうせいです。
今回は、プログラミングに欠かせない「演算子(オペレーター)」についてお話しします。
「演算子って、+ や == とかのこと?」
「PythonとJavaでどう違うの?何が一緒で何が違うの?」
こんな疑問をもつ方のために、PythonとJavaにおける演算子の共通点と違いを、具体例・表・注意点付きでやさしく解説します!
演算子とは?
演算子とは、計算や比較などの操作を行うための記号やキーワードです。
たとえば:
+(足し算)==(等しいかどうか)and/&&(論理積)
どちらの言語でも、これらを使ってデータ同士の操作や条件判定ができます。
主な演算子の種類と共通点
PythonとJavaには、多くの演算子が共通しています。
| 種類 | 目的 | 共通演算子 | 例 | 
|---|---|---|---|
| 算術演算子 | 足し算・引き算 | + - * / % | a + b、a % b | 
| 代入演算子 | 値の代入 | = | x = 10 | 
| 比較演算子 | 大小・一致の比較 | == != < > <= >= | a == b、x >= y | 
| 論理演算子 | 論理式の操作 | Python: and or notJava: `&& | |
| 複合代入 | 短くまとめる | += -= *= /= | x += 1 → x = x + 1 | 
| インクリメント | 1増やす | Javaのみ: ++ | i++(Pythonにはない!) | 
相違点①:インクリメント・デクリメント演算子
Javaにはあるけど、Pythonにはないのがこの演算子!
Java:
int i = 1;
i++; // i = i + 1 と同じ
i--; // i = i - 1 と同じ
Python(同じ処理をするには):
i = 1
i += 1
i -= 1
- Pythonでは
i++や--iを書くと構文エラーになるので注意! 
相違点②:論理演算子の書き方が違う
| 論理演算 | Python | Java | 
|---|---|---|
| AND(かつ) | and | && | 
| OR(または) | or | ` | 
| NOT(否定) | not | ! | 
例:
if x > 0 and x < 10:
    print("範囲内")if (x > 0 && x < 10) {
    System.out.println("範囲内");
}
意味は同じですが、書き方が全然違うので、間違いやすいポイントです。
相違点③:文字列の加算(連結)
Pythonでは文字列同士を+で簡単に連結できます。Javaも同様ですが、型に注意が必要です。
name = "ゆう" + "せい"
print(name)  # ゆうせいString name = "ゆう" + "せい";
System.out.println(name);  // ゆうせい
ただし、Javaでは数値と文字列を混ぜると自動変換されますが、Pythonはエラーになります!
System.out.println("年齢: " + 25); // 年齢: 25print("年齢: " + 25)  # エラー!intとstrは連結できない
Pythonでは次のように変換が必要です:
print("年齢: " + str(25))
相違点④:同一性の比較
Pythonには、Javaにはないis演算子があります。
Python:
a = [1, 2]
b = a
print(a is b)  # True(同じオブジェクト)
c = [1, 2]
print(a == c)  # True(値は同じ)
print(a is c)  # False(オブジェクトは別)
Java:
Javaにはisのような演算子はありませんが、==は参照の比較、.equals()は値の比較という点に注意が必要です。
共通点:演算子の優先順位がある!
両言語とも、演算子には優先順位(precedence)があります。
例:
result = 3 + 2 * 4  # → 11(掛け算が先)int result = 3 + 2 * 4;  // → 11
もし優先順位を変えたい場合は、カッコを使って明示します。
result = (3 + 2) * 4  # → 20int result = (3 + 2) * 4;  // → 20
まとめ
| 比較項目 | 共通点 | 相違点 | 
|---|---|---|
| 算術演算子 | + - * / % は両方とも使える | ++や--はJavaにしかない | 
| 比較演算子 | == != < > <= >= は同じ | Pythonはisもある | 
| 論理演算子 | 意味は共通 | 書き方が異なる(and vs &&など) | 
| 文字列の連結 | +で可能 | Pythonは明示的な型変換が必要 | 
| 優先順位 | 同じようなルール | 基本的には共通 | 
次の学習のステップ!
演算子の基礎を押さえたら、以下の内容にも挑戦してみましょう!
- ビット演算子(
& | ^ << >>)を使ってデータを効率的に扱う方法 - 三項演算子(条件に応じて値を変える短い書き方)
 - 演算子のオーバーロード(Python限定)で独自のクラスに演算子を使えるようにする
 
「この演算子、Pythonだとどう書くの?」「Javaではどう扱う?」などの具体的な質問も歓迎です!
引き続き、一緒に楽しく学んでいきましょう!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール
- 代表取締役
 - 
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。 
最新の投稿
山崎講師2025年11月2日Pythonの「なるほど!」と思えるユニークな機能④
山崎講師2025年11月2日Pythonの「なるほど!」と思えるユニークな機能③
山崎講師2025年11月2日Pythonの「なるほど!」と思えるユニークな機能②
山崎講師2025年11月2日Pythonの「なるほど!」と思えるユニークな機能①