title: Is there a difference between cast and strong type assignment?
body: <p>I sort of ran into this today when writing some code. Take the following as an example:</p>
  
  <pre><code>long valueCast  = (long)(10 + intVariable);
  long valueTyped = 10L + intVariable;
  </code></pre>
  
  <p>Is there any difference between these two or are they compiled to exactly the same thing? Is there a convention for one over the other?</p>
  
  <p>So I know this isn't a critical question (both work). I'm just very curious about what the difference(s) might be!</p>
  
  <p><strong>EDIT</strong> - Modified the code example to be closer to what my original scenario actually is. I wanted the question to be clear so I replaced the variable with a constant. Didn't realize the compiler would to the arithmetic automatically (thereby changing the answers to this question)</p>