Now that you know a little bit more about expressions, let's see them in action. This code example starts with a declaration of an integer variable called x, which behaves exactly as you already have seen. Next we initialize x to 4 + 3 * 2. As you know from math, times has higher precedence than plus. So this expression evaluates to 4 + 6 which is 10. So we put 10 in the box for x. Next, we declare another variable, y, of type int and initialize it to x- 6 which is 10- 6 which is 4. So we create a box for y and put 4 in it. The last statement says x = x * y. Sometimes novice programmers expect statements which look like this to behave like algebraic equations, where you might solve for x. However, that is not what happens. Instead you follow the rules you have already learned. The right hand side evaluates to 10 * 4, which is 40, and you put 40 in the box for x. Now let's see another example, before we work through this, take a moment to see if you can figure out what the values x y and z have at the end of this code fragment. Okay let's step through it, first we declare and initialize x. Next we evaluate x times 3, which is 6, and initialize y to that value. Next we compute y divided by 2 which is 3 and initialize z to that value. The last statement says x equals 2 plus z mod 2. Since the 2 + z is in parenthesis, we compute that first and get 5. Next we compute 5 mod 2, remember from your reading that 5 mod 2 means that we divide 5 by 2 but take the remainder, not the quotient, so this expression evaluates to 1. So we update the value in x's box to be 1. Okay great, now you should be able to evaluate code involving a wide variety of mathematical expressions.