Solution Review 2: Expression Evaluation
Have a look at the solution to the 'Expression Evaluation' challenge.
We'll cover the following...
class ExpressionEvaluattion{public static void main(String args[]){int x = 2; // x = 2int y = 3; // y = 3, x = 2double z = 5; // z = 5.0, y = 3, x = 2x *= y; // z = 5.0, y = 3, x = 2*3 = 6y = x + y + (int) z; // z = 5.0, y = 6+3+5 = 14, x = 6z = x + y + y / z; // z = 6+14+(14/5.0) = 22.8, y = 14, x = 6y++; // z = 22.8, y = 15, x = 6x--; // z = 22.8, y = 15, x = 5x = (int) z + y * x / y % x; // x = 22 + ((15*5) / 15)) % 5 = 22System.out.println(x);}}
Explanation
Let’s go over the code line by line and keep track of each of the three variables.
-
In lines 5-7, we have three variables declared; variables
xandyare ofinttype, whereas variablezis ofdoubletype. -
Now, look at line 9. Remember that
*=is shorthand for the arithmetic operation of multiplying the two numbers and assigning the resulting value to the variable on the left side of the*=sign. Thus, this line translates to:x = x * y;This way, the value of
xis updated to . -
Now, look at line 10. Here, the value of
yis updated to the sum of the three variables we have. Since we cannot add variables of different types, variablezis being type casted toint. Otherwise, it is a simple sum, i.e., the value ofybecomes ...