Can't we downcast int to boolean?
<p>As per my understanding, 0 is being treated as <code>int</code> by default in line 1. This is why assigning <code>int</code> to <code>boolean</code> is giving compile time error. Is it correct? Also, why is it giving compile error in line 2, even upon explicit down-casting?</p>

<pre><code>public class HelloWorld
{
   public static void main(String[] args)
  {
    boolean b = 0;         //1.compile time error
    boolean b = (boolean)0;//2.still compile time error
    System.out.print(b);
  }
}
</code></pre>