Tôi có đoạn mã sau:
if(!partialHits.get(req_nr).containsKey(z) || partialHits.get(req_nr).get(z) < tmpmap.get(z)){  
    partialHits.get(z).put(z, tmpmap.get(z));  
}nơi partialHitslà một HashMap. 
Điều gì sẽ xảy ra nếu tuyên bố đầu tiên là đúng?  Java vẫn sẽ kiểm tra câu lệnh thứ hai chứ? Bởi vì để câu lệnh đầu tiên là đúng, HashMap không được chứa khóa đã cho, vì vậy nếu câu lệnh thứ hai được chọn, tôi sẽ nhận được NullPointerException. 
Vì vậy, nói một cách đơn giản, nếu chúng ta có đoạn mã sau  
if(a && b)  
if(a || b)Java sẽ kiểm tra bnếu asai trong trường hợp đầu tiên và nếu ađúng trong trường hợp thứ hai?