2分ですぐにわかる!演算子の優先順位の考え方

  • このエントリーをはてなブックマークに追加
  • Pocket
java 演算子の優先順位

演算子には計算する優先順位がある。

このページでは演算子の優先順位についてお伝えした。基本的にJavaで紹介するが、他のプログラム言語でも同様だ。

参考にしていただければと思う。

演算子には優先順位がある

プログラミングで演算子を使うときは、その優先順位に気をつけなければいけない。

演算子の優先順位とは、どの順番で演算を行うかを決めるための優先順位のことだ。優先順位が同じであれば、基本的に演算は左から右へ行われる。

しかし、ひとつでも優先度が高いものがあれば、その優先度の高い演算が最初に行われる。演算子を組み合わせて使うとき、この点を注意する必要がある。これから演算子の詳細を学んでいくわけだが、その前に演算子の優先順について学んでおくほうがよい。

実際、優先順位がどうなっているのか見てみよう。

演算子の優先順位のリスト

このリストは、演算子の行の位置が上にあるほど優先順位は高く、下にあるほど優先度は低いことを表している。同じ行の中にあれば、同じ優先順位である。

代入演算子(=)以外のすべての二項演算子は、プログラムの左から右へ演算を行う。一方、代入演算子は、右から左へ値を代入する。

演算子

記号

優先度

後置

++ --

高い

前置、単行

++ -- + - ~ !

乗算

* / %

 

加算

+ -

 

シフト

<< >> >>>

 

関係

< > <= >= instanceof

 

比較

== !=

 

ビット単位積

&

 

ビット単位排他

^

 

ビット単位和

|

 

論理積

&&

 

論理和

||

三項

? :

低い

代入

= += -= *= /= %= &= ^= |= <<= >>= >>>=

 

演算子の優先順位を扱ったサンプルプログラム

このプログラムは、加算に対する乗算の位置を変えている。

位置が変わると、演算結果は変わるだろうか。乗算を加算より先に書いても、後に書いても、乗算が加算より優先されるため同じ結果になっている。この点を、もう一度前のセクションの優先順位のリストから確認してほしい。

実行結果

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

  • [1] 変数resultを宣言する。
  • [2] 変数resultに2 + 3 * 4を代入する。
  • [4] resultを表示する。
  • [2] 変数resultに3 * 4 + 2を代入する。
  • [4] resultを表示する。
  • [2] 変数resultに2 * 3 * 4 + 5 + 6を代入する。
  • [4] resultを表示する。
  • [2] 変数resultに5 + 6 + 2 * 3 * 4を代入する。
  • [4] resultを表示する。

括弧()の扱い方

これらの優先順位を変更するためには括弧()を使うことになる。こちらについては下記でお伝えしているので、こちらもご参考に。

まとめ

このページでは演算子の優先順位についてお伝えした。結構細かい設定があるのだが、基本的には乗算などだけ覚えておけばほとんどの場合困らない。

困ったときはこのページを参考にしていただければと思う。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメント

コメントを残す

*