&& (AND) e || (OR) em instruções IF

Eu tenho o seguinte código:

if(!partialHits.get(req_nr).containsKey(z) || partialHits.get(req_nr).get(z) < tmpmap.get(z)){  
    partialHits.get(z).put(z, tmpmap.get(z));  
}

OndepartialHits é um HashMap.
O que acontecerá se a primeira afirmação for verdadeira? O Java ainda verificará a segunda instrução? Porque para que a primeira instrução seja verdadeira, o HashMap não deve conter a chave dada, então se a segunda instrução estiver marcada, eu ireiNullPointerException.
Então, em palavras simples, se tivermos o seguinte código

if(a && b)  
if(a || b)

Java iria verificarb E sea é falso no primeiro caso e sea é verdade no segundo caso?

questionAnswers(9)

yourAnswerToTheQuestion