Its multiplying by itself zero times, so shouldnt it be 0?

Here's another way you can think about it:

Here we have a pattern:

3^3 = 27

3^2 = 9

3^1 = 3

To get from 27 to 9 we divided 27 by 3, to get from 9 to 3 we divided 9 by 3, so in order to follow the pattern we should also divide 3 by 3 to get to the next number. Which would be 1. So looking at the entire pattern again we have:

3^3 = 27

3^2 = 9

3^1 = 3

3^0 = 1

Having 3^0 = 0 wouldn't make sense because we wouldn't be able to get to 3 if we were to multiply 3^0 by 3. 1 is sometimes called the Multiplicative Identity for reasons related to this topic. You can kind of think of 1 as the 0 of multiplication.

As was mentioned raising 0 to the 0 power is NOT 1 and is the only exception to the rule that anything to the 0 power is 1. The reason it is undefined is for kind of the same reason 3^0 = 1. Let's look at the pattern like we did for 3:

0^3 = 0 because 0 * 0 * 0 = 0

0^2 = 0 because 0 * 0 = 0

0^1 = 0 because 0 = 0

but we cannot use the same logic as before with 3 because it is a rule that you can never divide by 0. So for that reason 0^0 is undefined.

I hope that helps.