Heisenberg's uncertainty principle is in fact not a principle but a consequence of the operator formalism of QM.
If we associate to the operator $X$ the standard deviation
$$\Delta_X = \sqrt{ \langle{X^2}\rangle -\langle X \rangle^2}$$
it can be then shown that, given two operators $A,B$
$$\Delta_A \Delta_B \geq \frac{1}{2} \left| \langle [A,B]\rangle\right|$$
where $[A,B] = AB-BA$ is the commutator.
If we take the operators $x$ and $p$, we have
$$[x,p_x]=i \hbar$$
from which the relation everybody knows follows:
$$\Delta_x \Delta_{p_x} \geq \frac \hbar 2$$
Notice that this is true only for the $x$ component of position and momentum. For example $[x,p_y]=0$, so you can measure the $x$ component of the position vector and the $y$ component of the momentum with arbitrary precision.
Since $L^2$ and $L_z$ commute (their commutator is $0$), in this case you have
$$\Delta_{L^2} \Delta_{L_z} \geq 0$$
and you can measure both with arbitrary precision.
Notice that in non-relativistic quantum mechanics time is not an operator, so this relation is in principle not valid for $E$ and $t$. The origin of the time-energy "uncertainty relation" is different. See for example D.J.Griffiths, Introduction to Quantum Mechanics.