FAQ: Learn Java: Manipulating Variables - Order of Operations

This community-built FAQ covers the “Order of Operations” exercise from the lesson “Learn Java: Manipulating Variables”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Build Basic Android Apps with Java

Learn Java

FAQs on the exercise Order of Operations

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply (reply) below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!
You can also find further discussion and get answers to your questions over in #get-help.

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head to #get-help and #community:tips-and-resources. If you are wanting feedback or inspiration for a project, check out #project.

Looking for motivation to keep learning? Join our wider discussions in #community

Learn more about how to use this guide.

Found a bug? Report it online, or post in #community:Codecademy-Bug-Reporting

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

The order of operations dictates the order in which an expression (like the one above) is evaluated.

The order should be as follows:

  1. Parentheses
  2. Multiplication, Division or Modulo, priority from left to right(4 % 3 * 5- 2 + 1 is equal to 5*(4 % 3) - 2 + 1)
  3. Addition or Subtraction, priority from left to right
8 Likes
int expression3 = 5 * 4 % 3 - 2 + 1;

According to the result, the answer to this expression is 1. However, when I’ve calculated it, I’ve got the answer 4.

Can anyone explain how the above expression from this code works out to be 1? I am baffled, though admittedly rusty with the maths.

Many thanks,

5 * 4 % 3 - 2 + 1,

We solve the multiplication first so 5 * 4 = 20, giving us

20 % 3 - 2 + 1

We then solve the modulo, 20 % 3 = 2, giving us

2 - 2 + 1

We then simple solve the equation left to right with the remaining addition/subtraction, giving us 1. The comment above demonstrates the correct order of operations as I don’t think the order given in the module is quite accurate.

2 - 2 + 1
that should give us -1 right? 2-3 = -1

ice_01 the compiler gives priority for addition and subtraction left to right. The instruction in the Codecademy exercise leads you to believe that addiction comes first. But, either addition or subtraction could come first depending on their placement from left to right. SO, in this case, 2-2 = 0, and then 0+1 = 1.

Hence: int expression3 = 5 * 4 % 3 - 2 + 1; evaluates to +1
5*4 = 20
20%3 = 2
2-2 = 0
0+1 = +1

3 Likes

Thanks! This is very helpful!

Just wanted to add that you can find a table of all the operators and their precedence here in the documentation.

Needless to say, someone should update the order of operations presented in this lesson.
When an expression contains both Addition and Subtraction, the one on the left is computed first.
Likewise, if an expression contains both Multiplication and Division, the one that appears on the left is computed first.