Originariamente inviato da @DI3GO@
E' importante che si sappia una cosa.
codice:
if( test1 && test2 || test3 )
Il compilatore si limiterà a fare test1&&test2 dato che se dovesser risultare un true o un false questo non influirebbe con || successivo....
Non ho ben capito cosa tu intenda dire, ma in questo modo non è corretto.
Esempio:
codice:
boolean test1 = false;
boolean test2 = true;
boolean test3 = true;
System.out.println("Valore booleano espressione: " + (test1 && test2 || test3));
Risultato: true.
Da quanto avevi scritto sembra che il test dell'operatore OR non influisca, ma che venga valutata solo la AND... questo non è vero.
Perchè è equivalente a:
codice:
System.out.println("Valore booleano espressione: " + ((test1 && test2) || test3));
dato che l'operatore && ha la precedenza rispetto all'operatore ||.
Regola base: è sempre bene parentesizzare.
Ciao.