title: Does Java have lazy evaluation?
body: <p>I know that Java has smart/lazy evaluation in this case:</p>
  
  <pre><code>public boolean isTrue() {
      boolean a = false;
      boolean b = true;
      return b || (a &amp;&amp; b); // (a &amp;&amp; b) is not evaluated since b is true
  }
  </code></pre>
  
  <p>But what about:</p>
  
  <pre><code>public boolean isTrue() {
      boolean a = isATrue();
      boolean b = isBTrue();
      return b || a;
  }
  </code></pre>
  
  <p>Is <code>isATrue()</code> called even if <code>isBTrue()</code> returns true?</p>