title: Why 0.1 represented in float correctly? (I know why not in result of 2.0-1.9)
body: <p>I've read a lot about float representation recently (including this: <a href="https://stackoverflow.com/questions/3448777/how-to-represent-0-1-in-floating-point-arithmetic-and-decimal">How To Represent 0.1 In Floating Point Arithmetic And Decimal</a>). 
  Now I understand that 0.1 can't be represented correctly, and when I do this: </p>
  
  <pre><code>System.out.println(2.0f - 1.9f);
  </code></pre>
  
  <p>I'll never get precise result.</p>
  
  <p>So the question is: 
  How represented 0.1f in the following code in order to print 0.1 correctly?
  Is that some kind of syntatic sugar?
  In the article that I above mentioned says: 0.1 represented in memory as 0.100000001490116119384765625. So why I don't get this output for this code:</p>
  
  <pre><code>System.out.println(0.1f);
  </code></pre>
  
  <p>How does Java deal with this?</p>