Skip to content

Vì sao phép tính chia cho một số 0.0 không xảy ra ngoại lệ trong Java?

Đây cũng là một câu hỏi khá hay khi chúng ta lập trình với Java.Cũng như đi phỏng vấn cũng có thể gặp. Vậy Vì sao phép tính chia cho một số 0.0 không xảy ra ngoại lệ trong Java ???

Vì sao phép tính chia cho một số 0.0 không xảy ra ngoại lệ trong Java

Cùng nhìn vào một ví dụ bên dưới khi chia mẫu số với một số nguyên bằng 0 nhé :

Với đoạn code trên, chương trình của chúng ta sẽ xảy ra ngoại lệ vì mẫu số = 0. Cùng nhìn vào quy trình chạy code của hình bên dưới:

Vì sao phép tính chia cho một số 0.0 không xảy ra ngoại lệ trong Java (2)

Kết quả:

Vì sao phép tính chia cho một số 0.0 không xảy ra ngoại lệ trong Java (2)

Bây giờ cùng xem chương trình thứ 2 với phép toán chia một số = 0 kiểu số thực (float,double):

Kết quả : Infinity

Vậy vì sao khi chia mẫu số với một số thực (float,double) bằng 0 trong Java lại không xảy ra ngoại lệ và  có thể chia được??? Mời bạn đọc trả lời ở phần comment bên dưới.

Trả lời : 

Hãy tưởng tượng một con số vô cùng gần bằng không.Biến sẽ tiếp cận số không cho một khoảng cách bằng 0 nhưng không bao giờ là chính xác.Giả sử số đó cần chính xác cho Java để đại diện lấy số đó để chia, nó cho lên và làm tròn thành 0.0 bởi vì không có một lựa chọn tốt.
Bất kỳ số nào thường chia cho một số cực nhỏ thành số không là về cơ bản, vô hạn (+-Infinity) . Hãy thử : 10 / (10^-100) = 0.0.
Published inCâu hỏi phỏng vấnJAVA CORE

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *