Precedence is covered in all aspects mathematical logic operations. Maybe you are familiar with PEMDAS in that case. As far as

java goes, I put the link in my post regarding the java precedences. Obviously, java (edit: Actually the parser of the compiler would handle this I suppose) handles these for you within your code, BUT if you dont know what the precedences are you may get undesired results. I dont now if k&B explicitly says "precedences", I mean im reading through the book myself currently, and I dont remember lol.

Anyways, when you are grouping your expressions you place the higher precedence stuff together (implicitly | explicitly). Its just like when you look at 1 + 2 * 3. Without parenthesis or precedences you wouldnt know whether to evaluate left to right or actually group the multiplication. Implicitly, most know that we want to do multiplication first. Explicitly, you could look at it as 1 + (2*3) with multiplication having higher precendence than addition.

Regarding what you are looking at...

They showed the first example as:

This shows an extra pair of parenthesis around &&. Since parenthesis have higher precedence than the operators you evaluate x>3 && y <2 together -> false, but they said doStuff() -> true hence it prints out true because the |.

Now in your case it wont print out true because the short circuit operator and x>3 -> false. So you are correct in that assumption. So with just one more set of parenthesis missing you get different results of the same expressions.

What you said in your post is correct, but what they are trying to point out is that sometimes those expressions can look ambigious, and knowing the precedences matters in some cases.