Why so many brackets / parentheses?

Why so many brackets / parentheses?

I am just curious as to why the system adds superfluous brackets to code?

For example, this:

  1. if (A && B && C && D) {
  2.       //statements
  3. }
is automatically converted by the system into this:
  1. if ((((A) && (B)) && (C)) && (D)) {
  2.       //statements
  3. }


The former is much easier to read and follow than the latter.

Anton