PythonとJavaの演算子の共通点と相違点を徹底解説!これを読めば迷わない!

こんにちは。ゆうせいです。

今回は、プログラミングに欠かせない「演算子(オペレーター)」についてお話しします。

「演算子って、+ や == とかのこと?」
「PythonとJavaでどう違うの?何が一緒で何が違うの?」

こんな疑問をもつ方のために、PythonとJavaにおける演算子の共通点と違いを、具体例・表・注意点付きでやさしく解説します!


演算子とは?

演算子とは、計算や比較などの操作を行うための記号やキーワードです。

たとえば:

  • +(足し算)
  • ==(等しいかどうか)
  • and / &&(論理積)

どちらの言語でも、これらを使ってデータ同士の操作や条件判定ができます。


主な演算子の種類と共通点

PythonとJavaには、多くの演算子が共通しています。

種類目的共通演算子
算術演算子足し算・引き算+ - * / %a + ba % b
代入演算子値の代入=x = 10
比較演算子大小・一致の比較== != < > <= >=a == bx >= y
論理演算子論理式の操作Python: and or notJava: `&&
複合代入短くまとめる+= -= *= /=x += 1x = 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を書くと構文エラーになるので注意!

相違点②:論理演算子の書き方が違う

論理演算PythonJava
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); // 年齢: 25

print("年齢: " + 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  # → 20

int result = (3 + 2) * 4;  // → 20



まとめ

比較項目共通点相違点
算術演算子+ - * / % は両方とも使える++--はJavaにしかない
比較演算子== != < > <= >= は同じPythonはisもある
論理演算子意味は共通書き方が異なる(and vs &&など)
文字列の連結+で可能Pythonは明示的な型変換が必要
優先順位同じようなルール基本的には共通

次の学習のステップ!

演算子の基礎を押さえたら、以下の内容にも挑戦してみましょう!

  • ビット演算子& | ^ << >>)を使ってデータを効率的に扱う方法
  • 三項演算子(条件に応じて値を変える短い書き方)
  • 演算子のオーバーロード(Python限定)で独自のクラスに演算子を使えるようにする

「この演算子、Pythonだとどう書くの?」「Javaではどう扱う?」などの具体的な質問も歓迎です!

引き続き、一緒に楽しく学んでいきましょう!

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。