Per l'OR vale lo stesso identico ragionamento, ma basato sul significato di OR:

codice:
boolean test = true;
if (test || metodo()) {
   ...
}
In questo caso, il metodo non viene richiamato perchè l'espressione è già vera dopo la prima valutazione.

codice:
boolean test = true;
if (test | metodo()) {
   ...
}
In questo caso, al contrario, viene eseguito anche il metodo, nonostante il valore dell'espressione sia già chiaro dopo la prima valutazione.


Ciao.