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
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


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.


It said in an earlier lesson that when we print VARIABLES with System.out.println(), we do not use the double quotes “”. So why is it that when we’re printing the answer to these equations(-6, 1, and 3), they are put between double quotes? The correct answer looks like System.out.println("-6");
I thought they were an answer to a variable equation.
I’m confused now when to use double quotes when using System.out.println()

int expression3 = 5*4%3-2+1

First priority here multiplication so 54 = 20
Then 20%3-2+1
now priority is modulo so 20%3 that is remainder 3
6+2 that is 2
Then 2-2+1
Which is 1
Hope it cleared your doubt

This tripped me up! Came here to make sure I wasn’t missing something ha.

                                                          int expression1 = 5 % 2 - (4 * 2 - 1); 

So I did — brackets first ----- 4*2 - 1

                 multiply first and then minus    = 7

               Then 5%2 = 2 ( not 2.5)                            =.  2. -  7.  =.  -5

HAS ANYONE GOT THE SAME? The answer is -6 !?

The modulo operator represents the remainder after one number is divided by another number. 5 % 2 would equal 1, as 2 can go into 5 twice and have a remainder of 1. So it would be 1 - 7 = -6.

Hope this helps!

I came here with the purpose of posting the right order but I found your post, so thanks, it was confusing because in the lesson it shows the order as follows:
but it’s actually like this:
once you change the order you get the result.

Indeed someone should update the lesson to show the right order as in the Cheat Sheet:
Order of Operations

The order in which an expression with multiple operators is evaluated is determined by the order of operations: parentheses → multiplication → division → modulo → addition → subtraction.