2020/03/13 公開
・計算の優先順位
四則演算(+、-、×、÷)には計算の優先順位があるので、計算の順番を間違うと答えが変わります。
計算する順番は、'×'(掛け算)と'÷'(割り算)を先に計算し、その後に'+'(足し算)と'-'(引き算)を計算します。 以下がその計算例です。
例1)10-3×2の場合、正しい計算結果は4です。(10-3×2 = 10-6 = 4)
例2)6×8-5×4の場合、計算結果は28です。(6×8-5×4 = 48-20 = 28)
次に、'+'(足し算)と'-'(引き算)の優先順位について考えてみます。
この2つの演算子は、計算する順番に関係なく同じ計算結果になります。
例3)5+9-3の場合、正しい計算結果は11です。(5+9-3 = 14-3 = 11)
例4)5-3+9の場合、正しい計算結果は11です。(5-3+9 = 2+9 = 11)
次に、'×'(掛け算)と'÷'(割り算)の優先順位について考えてみます。
この2つの演算子は、式の左の演算子から順番に計算します。
例5)12÷4×3の場合、正しい計算結果は9です。(12÷4×3 = 3×3 = 9)
例6)12×3÷4の場合、正しい計算結果は9です。(12×3÷4 = 36÷4 = 9)
例7)12×3÷6÷2の場合、正しい計算結果は3です。(12×3÷6÷2 = 36÷6÷2 = 6÷2= 3)
例えば、例5)の掛け算部分(4×3)を先に計算すると間違った計算結果になります。
12÷4×3 = 12÷12 = 1 ← 間違い
プログラム言語で式を記述する場合も、この計算の優先順位のルールに従います。
OperatorPreceden.java ← クリックしてダウンロードページに移動
001: public class OperatorPreceden { 002: public static void main( String[] args ) { 003: int a; 004: 005: // 006: a = 10 - 3 * 2; 007: System.out.println( "10-3×2=" + a ); 008: 009: // 010: a = 6 * 8 - 5 * 4; 011: System.out.println( "6×8-5×4=" + a ); 012: 013: // 014: a = 5 + 9 - 3; 015: System.out.println( "5+9-3=" + a ); 016: 017: // 018: a = 5 - 3 + 9; 019: System.out.println( "5-3+9=" + a ); 020: 021: // 022: a = 12 / 4 * 3; 023: System.out.println( "12÷4×3=" + a ); 024: 025: // 026: a = 12 * 3 / 4; 027: System.out.println( "12×3÷4="+ a ); 028: 029: // 030: a = 12 * 3 / 6 / 2; 031: System.out.println( "12×3÷6÷2=" + a ); 032: } 033: }
OperatorPreceden.javaの出力結果
10-3×2=4 6×8-5×4=28 5+9-3=11 5-3+9=11 12÷4×3=9 12×3÷4=9 12×3÷6÷2=3
優先順位のルールを気にせず計算式を記述したければ、先に計算したい計算部分を括弧で囲んでください。
以下は、上記の2つの例を括弧を付けて記述した例です。
例1)10-3×2の場合、10-(3*2)
例7)12×3÷6÷2の場合、((12*3)/6)/2
括弧で囲まれた計算式が優先して計算されるので優先順位のルールを気にする必要がありません。ただし、括弧で囲まれた計算式も優先順位のルールに従います。
■関連コンテンツ
割り算(除算)について | 割り算(除算)の注意点など |
整数の割り算(除算)について | 整数の割り算(除算) |
計算結果の表示足し算(加法)/引き算(減法)/掛け算(乗法)/割り算(除法)の使い方を説明 |
■新着情報
2022.07.07 | 外部プログラムの実行 | exeファイル実行 |
2022.07.06 | 完全数 | 6=1+2+3 |
■広告