&& (AND) i || (OR) w instrukcjach IF
Mam następujący kod:
if(!partialHits.get(req_nr).containsKey(z) || partialHits.get(req_nr).get(z) < tmpmap.get(z)){
partialHits.get(z).put(z, tmpmap.get(z));
}
gdziepartialHits
to HashMap.
Co się stanie, jeśli pierwsze stwierdzenie będzie prawdziwe? Czy Java będzie nadal sprawdzać drugą instrukcję? Ponieważ aby pierwsza instrukcja była prawdziwa, HashMap nie powinna zawierać podanego klucza, więc jeśli zaznaczona zostanie druga instrukcja, otrzymamNullPointerException
.
W prostych słowach, jeśli mamy następujący kod
if(a && b)
if(a || b)
sprawdzi Javab
Jeślia
jest fałszem w pierwszym przypadku i jeślia
jest prawdą w drugim przypadku?