Video: Lập trình Java - 07 Khai báo biến trong Java 01 2025
Các lỗi logic trong lập trình Java có thể vô cùng khó khăn vì chúng không phản ánh bất kỳ loại vấn đề mã hóa nào hoặc lỗi trong việc sử dụng các phần tử ngôn ngữ Java. Mã chạy hoàn hảo như văn bản - nó chỉ là không thực hiện nhiệm vụ mà bạn mong đợi nó để thực hiện.
Kết quả là lỗi lôgíc có thể là lỗi khó nhất tìm thấy. Bạn cần phải dành thời gian đi qua mã của bạn tìm kiếm một lý do chính xác cho lỗi. Dưới đây là danh sách các lỗi logic phổ biến mà các nhà phát triển Java gặp phải:
-
Sử dụng toán tử không chính xác: Thứ tự mà Java diễn dịch các toán tử là quan trọng. Các ứng dụng thường tạo ra kết quả sai vì nhà phát triển không bao gồm dấu ngoặc đơn ở đúng vị trí.
Ví dụ: ví dụ sau tạo ra kết quả là 11, 13, 9 và 8 từ bốn biến, tất cả đều do vị trí (hoặc thiếu) của dấu ngoặc đơn.
public class OperatorError {public static void main (String [] args) {// Tạo một số biến. int MyVar1 = 5 + 4 * 3/2; int MyVar2 = (5 + 4) * 3/2; int MyVar3 = (5 + 4) * (3/2); int MyVar4 = (5 + (4 * 3)) / 2; / / Xuất kết quả. Hệ thống. ngoài. println ("MyVar1:" + MyVar1 + "nMyVar2:" + MyVar2 + "nMyVar3:" + MyVar3 + "nMyVar4:" + MyVar4);}}
-
Xác định sai số: Có thể là lỗi logic phổ biến nhất đang đếm những điều không chính xác. Mọi người được sử dụng để bắt đầu tính với 1, và các máy tính thường bắt đầu đếm bằng 0. Vì vậy, không hiếm khi thấy rằng các ứng dụng chính xác là một trong việc thực hiện một nhiệm vụ, cho dù nhiệm vụ đó đang chạy một vòng lặp hoặc làm việc với một bộ sưu tập các mặt hàng.
-
Nhà phát triển sẽ thường nhìn vào câu lệnh được sử dụng để xác định một điều kiện và giả sử rằng câu lệnh là đúng (hoặc sai) mà không cần xác minh logic của tuyên bố. Việc sử dụng một hoặc một tuyên bố khi bạn thực sự muốn sử dụng câu lệnh a và cũng có thể gây ra vấn đề. Logic được sử dụng để đưa ra quyết định làm cho nhiều nhà phát triển, ngay cả những nhà phát triển có kinh nghiệm, cũng gặp rất nhiều vấn đề. Luôn xác minh các giả định của bạn cho các tuyên bố có điều kiện.
-
Bạn không thể giả định rằng các số dấu chấm động sẽ cung cấp một số cụ thể. Điều này có nghĩa là bạn không thể kiểm tra một số điểm nổi cho sự bình đẳng với bất kỳ giá trị cụ thể nào - thay vào đó bạn phải sử dụng một loạt các giá trị để thực hiện kiểm tra. Các số điểm nổi luôn luôn là một phép tính xấp xỉ trong Java. Dựa vào các giá trị số nguyên để đo các giá trị:
-
Các số nguyên là tuyệt vời để đếm các mục bởi vì chúng chính xác.Tuy nhiên, nhiều phép tính toán số nguyên tạo ra kết quả không chính xác. Điều này đặc biệt đúng với sự phân chia, bởi vì phần còn lại luôn bị bỏ lại. (Số được làm tròn xuống) Sử dụng các giá trị điểm nổi hoặc loại đối tượng BigDecimal khi bạn cần đo lường một cái gì đó và độ chính xác là quan trọng. Việc đặt sai vị trí dấu chấm phẩy:
-
Có thể tạo mã Java biên dịch và chạy hoàn hảo mặc dù có một dấu chấm phẩy sai vị trí. Đây là một ví dụ: public class ForLoopError {public static void main (String [] args) {// Khai báo biến. int Count; // Tạo vòng lặp. cho (Count = 1; Count <= 10; count ++); {/ / Xuất kết quả. Hệ thống. ngoài. println ("Count is" + Count);}}}
Lưu ý rằng dấu chấm phẩy xuất hiện ngay sau câu lệnh for, thay vì sau khối mã như nó cần. Thay vì in các giá trị riêng lẻ của Count, ví dụ này in một câu duy nhất nói Count là 11.