Được rồi, vì vậy tôi có đoạn mã này được thử nghiệm và tôi thấy không có bất kỳ ngoại lệ nào được ném ra ngoài.Hai điều kiện trong một câu lệnh if có phải vấn đề thứ hai nếu câu đầu tiên là sai?
public static void main(String[] args) {
int[] list = {1,2};
if (list.length>2 && list[3] == 2){
System.out.println(list[1]);
}
}
Liệu các tuyên bố đây
if (list.length>2 && list[3] == 2)
có nghĩa là nếu điều kiện đầu tiên là sai, chúng tôi thậm chí không phải kiểm tra điều kiện thứ hai?
Hoặc nó tương đương với
if (list.length>2){
if (list[3] == 2){
...
}
}
?
Và điều gì sẽ xảy ra nếu nó được viết bằng C hoặc python hoặc một số ngôn ngữ khác?
Cảm ơn
2 cách tương đương –
Java theo http://en.wikipedia.org/wiki/Short-circuit_evaluation (Đánh giá ngắn mạch) để xác thực biểu thức – Vasu
Đánh giá ngắn mạch cho phép bạn đánh giá các điều kiện sẽ chỉ hợp pháp lâu dài vì điều kiện đầu tiên là hợp pháp. Bạn sẽ thường thấy mã như 'if (string! = Null && string.length> 5)' –