title: Reasoning behind having to specify L for long, F,D for float, double
body: <p>A few related questions here.</p>
  <p>As per the title, why is it a requirement if we are specifying the variable type as long or float, double? Doesn't the compiler evaluate the variable's type at compile time?</p>
  <p>Java considers all integral literals as <code>int</code> - is this to lessen the blow of inadvertent memory waste? And all floating-point literals as <code>double</code> - to ensure highest precision?</p>