Prima vengono controllati &&, e poi ||, perchè vengono presi come piccole espressioni
infatti non avrebbe senso sennò la condizione.

Per orientarti meglio ti consiglio di dividerli con delle parentesi cosi...

if((A && B) || (C && D)).... , se l'una o l'altra restituisce un valore boolean vero esegue la condizione sennò niente