【Java入門】括弧を使った演算子優先順位の変更

括弧による優先順位の変更
  • このエントリーをはてなブックマークに追加
  • Pocket

Javaの計算時、括弧を使うと、計算の優先順位を変更することができる。

数学などで習うものとまったく変わらないが、念のため確認していこう。

ちなみに、下のページで優先順位の全体像についてお伝えしている。こちらもご参考に。

括弧を使って優先順位の変更をする

Javaの演算子は、基本的に優先順位を持っている。それに加えて、括弧を使って明確な優先順位を付けることができる。言い換えれば、演算の順番を自由に変えることができるということだ。いろいろな計算をJavaでプログラミングしようとすると、どうしてもこのような括弧を使った優先順位の変更が必要な場面が出てくる。

演算の優先順位を高くするには、括弧()で囲めばよい。a+bの加算結果にcを掛けたい場合、a+b*cと書いてはいけない。b*cが優先されるからだ。それで、括弧を使ってa+cが優先されるように変更する。

書き方は簡単だ。

a + bを優先:a + b * c → (a + b) * c

実際の例から考えてみよう。

優先順位を変える必要がある計算

台形の面積を求める計算式を考えてみよう。計算式は、足し算と割り算と掛け算の組み合わせでできている。この計算の場合、括弧を使って優先順を変更しないと、計算結果が正しい計算結果にならない。+演算子が/演算子や*演算子より優先順位が低いからだ。

台形の面積=(上程:upperBase + 下底:lowerBase) / 2 * 高さ(height)

  • 正しい計算結果 = (upperBase + lowerBase) / 2 * height;
  • 誤った計算結果 = upperBase + lowerBase  / 2 * height;

台形の面積を求めるサンプルプログラム

このサンプルプログラムは、台形の面積を求めるふたつの計算式、正しい計算式と誤った計算式の両方の計算を行っている。その結果が違っているので、正しい計算結果を得るためには、優先順位を変更する必要があることが分かるだろう。

実行結果

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

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

  • [1] 変数upperBaseを宣言し、10を代入する。
  • [2] 変数lowerBaseを宣言し、20を代入する。
  • [3] 変数heightを宣言し、20を代入する。
  • [4] 変数areaを宣言する。
  • [5] 変数areaに(upperBase + lowerBase) / 2 * heightを代入する。
  • [6] areaを表示する。
  • [7] 変数areaにupperBase + lowerBase / 2 * heightを代入する。
  • [8] areaを表示する。

優先順位を変える必要がない計算

立方体の体積を求める計算式を考えてみよう。計算式は、3つの値の掛け算になっている。掛け算なので、掛け算の順番を入れ替えても計算結果は同じになる。このような計算では、優先順位を変える必要はない。

体積:volume = 幅:width x 長さ:length x 高さ:height

立方体の体積を求めるサンプルプログラム

このサンプルプログラムでは、体積を求める計算式の計算の順序を入れ替えて各々の計算結果を出している。その結果は同じで、優先順位を入れ替える必要がないことが確認できる。

実行結果

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

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

  • [1] 変数widthを宣言し、10を代入する。
  • [2] 変数lengthを宣言し、20を代入する。
  • [3] 変数heightを宣言し、30を代入する。
  • [4] 変数volumeを宣言する。
  • [5] 変数volumeにwidth * length * heightを代入する。
  • [6] volumeを表示する。
  • [7] 変数volumeにheight * length * width;を代入する。
  • [8] volumeを表示する。

まとめ

このページでは括弧と使って演算の優先順位を変える方法についてお伝えした。

数学を思い出していただければほぼ問題なく使えるはずだ。ぜひ把握しておこう。

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

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

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する