Here is a look at the assignment operator. We have two integers, two primitives. Although, as you may recall from the prior module, we could use autoboxing to put them in and put them into an integer, but we'll stick with our perimeters, that's what we recommend. Here's i equals 42, j equals 21, i is overwritten with 21, and now i is going to be overwritten with whatever the current value of i is plus the current value of j. Looking back at our code, it'd be 21 plus 21, that is why the result is 42. We have the standard set of math operators, add, subtract, multiply, divide, and for integers, otherwise known as whole numbers, modulus, which you may remember from school as the remainder. There's unary plus and minus, that's not the plus plus stuff. This is like a sign change. Typically more used with the minus, but unary versions of plus and minus. Now, the precedence of these operators they referred to here as binary, not because it's binary math, but because they take two parameters, one on the left, one on the right. As you may recall from mathematics, the multiply family goes first, add and subtract has a lower precedence, and I said multiply family because you may recall that division is multiplication by the reciprocal. Just like subtraction is addition of the negative. The urinary operators, the plus, plus and the minus, minus pre increment, pre decrement, post increment. Firstly use the i, then it will be incremented and post decrement. You do want to be careful about these, especially if you're using the value in the same expression in which you are incrementing or decrementing. I gave you the example earlier in this video of using i as an array index. Well, did you want to increment the array index first and use the incremented value? Or did you want to use the value first and then increment it for perhaps a subsequent use? Relational or comparison operators: less than, less than or equal to, equal, not equal, greater than or equal and greater than. The result of these operators will be a Boolean, so true, false. Doesn't matter what you are comparing here, ints, or floats or other primitives. Again, be careful trying to use these with objects. You won't get what you expect unless you expect to be comparing only the primitives. But the result of these will be a Boolean, a true, false, which we can then use with our while loops or our if statements.