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 () 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 () below!
You can also find further discussion and get answers to your questions over in Language Help.
Agree with a comment or answer? Like () to up-vote the contribution!
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.
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.
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()
First priority here multiplication so 54 = 20
Then 20%3-2+1
now priority is modulo so 20%3 that is remainder 36+2 that is 2
Then 2-2+1
Which is 1
Hope it cleared your doubt
Hi,
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.
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:
Modulo/Multiplication/Division
but it’s actually like this:
Multiplication/Division/Modulo
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.
double quotes is used only when you want to print what is inside the parenthesis. Eg: System.out.println(“today”); //prints today
eg: System.out.println(variables); //prints answers to your variables.
The multiplicative operators * / % (multiplication/division/modulo) have same precedence.
The additive operators + - (addition/subtraction) have lower precedence as compared to the multiplicative operators, but both addition and subtraction have same level of precedence.
When the level of precedence is same, then (from the above link):
The operators in the following table are listed according to precedence order. The closer to the top of the table an operator appears, the higher its precedence. Operators with higher precedence are evaluated before operators with relatively lower precedence. Operators on the same line have equal precedence. When operators of equal precedence appear in the same expression, a rule must govern which is evaluated first. All binary operators except for the assignment operators are evaluated from left to right; assignment operators are evaluated right to left.
So, for the expression,
2 - 2 + 1
// Both subtraction and addition have equal precedence, so
// they will evaluated from left to right.
0 + 1 // Subtraction completed
1 // Addition completed
Also, mathematically, 2 - 2 + 1 ≠ -1
Instead, 2 - 2 + 1 equals 1
It would be correct if the expression was different i.e. 2 - 2 - 1 equals -1
It would be also be correct if the expression were 2 - (2 + 1) equals -1