Need some help understanding piece of Java code

Right now I'm trying to teach myself Java and I came across this piece of code showing factorials.(https://www.cs.utexas.edu/~scottm/cs307/javacode/codeSamples/Factorial.java)

It runs fine showing factorials up to 12 but I don't quite understand how it runs. I understand most of it up until "result *= i;" 

I can't find anywhere that shows that *= does.

result *= i; is equivalent to result = result * i;

it assigns the value of result * i to the variable result. It's easier to write and read than the latter.

 

Thanks for the help. I forget that it's called a for "loop" and will keep multiplying until it reaches whatever number n is.

If you were wondering that's called a compound assignment operator, and there are a few of them. I'm going to use i and n as variables just for explanations sake. i += n (i = i + n), i -= n( i = i - n),i *= n (i = i * n), see the pattern going here? You can find more operators here: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html 

Also since you are learning Java, this guys aeries built for University of Reddit is top notch! 

http://beginnersjava.com/