in reply to Operator precedence
These two operators exhibit what is called short-circuit evaluation. If the left-hand side of && is found to be False, the right-hand side is not evaluated at all, since to do so would be pointless: “False and anything-at-all is already known to be False.” Likewise, if the left-hand side of || is found to be True, then the right-hand side is not evaluated since what it’s got is already sufficient: “True or anything-at-all is already known to be True.”
The computer had to evaluate apple to conclude if it was True or False. (It was True.) Since it was True, short-circuiting did not occur so it proceeded to its rightmost part. But, having evaluated banana in the parenthesized expression (also True), that did short-circuit: within that subexpression, it did not have to go further. A call to cherry will never occur in this program fragment as-written.