1. Quên dấu chấm phẩy
Lỗi phổ biến nhất mà các lập trình viên Java khao khát mắc phải liên quan đến dấu chấm phẩy. Hay đúng hơn, sự vắng mặt của nó ở nơi đáng lẽ phải có.
Mọi câu lệnh bên trong một phương thức phải kết thúc bằng dấu chấm phẩy. Dấu chấm phẩy là thứ phân tách các câu lệnh hoặc lệnh: đây là cách chúng tôi báo cho trình biên dịch Java nơi một lệnh kết thúc và lệnh tiếp theo bắt đầu.
Ví dụ về lỗi:
mã không chính xác | đúng mã |
---|---|
|
|
|
|
|
|
2. Quên đóng ngoặc kép
Lỗi phổ biến thứ hai đối với những người mới làm quen với Java là viết một chuỗi trong mã và sau đó quên đóng dấu ngoặc kép.
Mỗi chuỗi ký tự trong mã phải được đặt ở cả hai bên bằng dấu ngoặc kép ("). Những lập trình viên mới bắt đầu thường đặt dấu ngoặc kép ở đầu văn bản nhưng họ lại quên đóng chúng ở cuối.
Dưới đây là một số ví dụ:
mã không chính xác | đúng mã |
---|---|
|
|
|
|
|
|
3. Quên thêm dấu cộng khi dán dây
Một lỗi phổ biến khác khi làm việc với các chuỗi là quên viết dấu cộng khi dán các chuỗi lại với nhau. Lỗi này đặc biệt phổ biến khi văn bản và biến được nối trong một biểu thức dài trong mã.
Dưới đây là một số ví dụ:
mã không chính xác | đúng mã |
---|---|
|
|
|
|
|
|
4. Quên đóng dấu ngoặc nhọn
Đây là một sai lầm rất phổ biến. Có hai tình huống mà điều này là điển hình:
Tình huống đầu tiên: Bạn quyết định sao chép mã từ đâu đó và vô tình bỏ lỡ một số dấu ngoặc nhọn. Tình huống thứ hai: Đơn giản là bạn không bận tâm đến việc đảm bảo rằng mọi dấu ngoặc đơn mở đều khớp với dấu ngoặc đơn đóng.
Để tránh những lỗi này, các lập trình viên mới bắt đầu thường được khuyến nghị viết dấu ngoặc nhọn đóng bên dưới dấu mở đầu.
Ví dụ:
mã không chính xác | đúng mã |
---|---|
|
|
|
|
5. Quên thêm dấu ngoặc đơn
Thông thường, lỗi này được thực hiện bởi các nhà phát triển biết các ngôn ngữ lập trình không yêu cầu dấu ngoặc đơn trong các tình huống tương tự.
Một khả năng là họ quên đặt dấu ngoặc đơn ở cuối lời gọi phương thức:
Một khả năng khác là họ quên đặt điều kiện của một if-else
câu lệnh trong ngoặc đơn.
Ví dụ:
mã không chính xác | đúng mã |
---|---|
|
|
|
|
6. Viết main
sai phần khai báo phương thức
Ngay sau khi họ tuyên bố main
phương pháp đẫm máu! Có lẽ không có gì khiến người mới vấp ngã nhiều như phương pháp tồi tệ này. Quan trọng là sau đó họ luôn ngạc nhiên và tự hỏi tại sao chương trình của họ không bắt đầu?
Và, tất nhiên, lập trình viên không có lỗi, mà là lỗi của chương trình, trình biên dịch, trình xác thực mã, máy Java, v.v. Danh sách những kẻ tế thần là vô tận.
Ví dụ:
mã không chính xác | Giải trình |
---|---|
|
public mất tích |
|
static mất tích |
|
void mất tích |
|
public và static đang mất tích |
|
[] mất tích |
|
String[] args mất tích |
|
Chúng tôi có int thay vìvoid |
7. Tên tệp khác với tên lớp
Theo tiêu chuẩn Java, tất cả các lớp Java phải được lưu trữ trong một tệp có tên trùng với tên lớp. Và như đã đề cập trước đó, trường hợp của các chữ cái quan trọng ở đây:
tên tệp | Tên lớp | Ghi chú |
---|---|---|
|
|
Mọi thứ đều ổn
|
|
|
Tên tệp có một ký tự thừas |
|
|
Tên tệp bắt đầu bằng một chữ thường |
|
|
Phần mở rộng tệp .txt thay vì.java |
|
|
Tên lớp bắt đầu bằng một chữ thường
|
Trên thực tế, một số lớp có thể được khai báo trong một tệp có phần mở rộng .java, nhưng chỉ một trong số chúng có thể có từ public
trước tên lớp. Và đây là tên phải trùng với tên tệp.
Tệp .java phải luôn có một lớp có tên giống với tên tệp và lớp đó cần phải có công public
cụ sửa đổi. Ví dụ:
Giải pháp.java |
---|
|
Ngoài ra, ngôn ngữ Java cho phép bạn viết các lớp bên trong các lớp. Đây là một cách khác để vượt qua giới hạn trên. Nếu một lớp công khai (một lớp có công public
cụ sửa đổi) được khai báo trong một tệp và có cùng tên với tên tệp, thì bạn có thể khai báo bao nhiêu lớp tùy thích bên trong lớp công khai này. Điều đó nói rằng, đây sẽ không còn là lớp học bình thường. Thay vào đó, chúng sẽ là các lớp nội bộ hoặc lồng nhau. Ví dụ:
Giải pháp.java |
---|
|
8. Quên viếtpackage
Vì các chương trình thường có hàng nghìn lớp nên khó có thể tìm được các tên đơn giản, dễ hiểu và duy nhất cho tất cả chúng. Đó là lý do tại sao trong Java, người ta thường nhóm các lớp thành các gói bằng cách sử dụng package
từ khóa. Chính xác là cách các tập tin được nhóm vào các thư mục.
Đó là lý do tại sao mỗi lớp nên bắt đầu bằng một dấu hiệu của gói mà nó thuộc về. Ví dụ
Mã không có gói | Ví dụ đã sửa |
---|---|
|
|
9. Quên thêmimport
Nếu chúng ta muốn sử dụng lớp của người khác trong chương trình của mình, chúng ta có hai lựa chọn: ở mọi nơi trong mã của chúng ta, chúng ta cũng phải viết tên gói của nó trước tên của lớp. Ngoài ra, chúng ta có thể viết tên lớp đủ điều kiện với import
từ khóa một lần.
Ví dụ:
Không sử dụng nhập khẩu | Sử dụng nhập khẩu |
---|---|
|
|
Cả hai tùy chọn đều hoạt động, nhưng nếu bạn chỉ viết Scanner
mã của mình mà không thêm import
, thì trình biên dịch sẽ không thể hiểu nó cần lấy lớp từ gói nào Scanner
và chương trình của bạn sẽ không biên dịch được.
GO TO FULL VERSION