you are right == has higher precedence over &&.
BUT this is only in the case the expression (grade==70) gets evaluated which is not the case here since false short-circuit the whole boolean expression (false && grade == 70)
Higher precedence means that the expression gets evaluated like follows :
false && (grade == 70)
and not
(false && grade) == 70 // this would be invalid though !!
HIH
------------------
Valentin Crettaz
Sun Certified Programmer for
Java 2 Platform