Cú pháp và quy tắc Java cơ bản
Trong bài này, chúng ta sẽ cùng nhau tìm hiểu về một số cú pháp và quy tắc cơ bản trong Java. Đây là một bài rất quan trong, các bạn cần phải nắm rõ các quy tắc và cú pháp có trong bài viết này để có thể lập trình tốt hơn với ngôn ngữ lập trình Java.
1. Cú pháp comment code trong Java.
Comment code trong Java là những đoạn code mà compiler sẽ bỏ qua lúc biên dịch (tức là trình biên dịch sẽ bỏ qua khi gặp phải những đoạn comment này trong code của chúng ta). Vậy tại sao chúng ta cần phải sử dụng tới các comment này trong chương trình của mình? Đó là vì: Các đoạn comment này dùng để giải thích về ý nghĩa, công dụng của các biến, phương thức, các Class hoặc bất kỳ những dòng lệnh khác để cho chương trình của chúng ta dễ hiểu và dễ bảo trì hơn; ngoài ra, nó cũng dùng để bỏ qua biên dịch một đoạn code nào đó trong quá trình viết code của chúng ta.
Trong Java, chúng ta có 3 cách comment code như sau:
/* * Comment nhiều dòng * Dòng 1 * Dòng 2 * ... * Dòng n */ // Comment 1 dòng /** * Comment đặc biệt dùng để tạo Java code documentation ở định dạng HTML (Java Document) */
Dưới đây là đoạn chương trình minh họa về comment code.
Bài viết này được đăng tại [free tuts .net]
package comment_code; /** * * @author keeps * Đây là comment dùng để tạo Java document ở định dạng HTML từ source code Java. * Đoạn code này sẽ được trình biên dịch bỏ qua khi thực thi. */ public class CommentCodeInJava { public static void main(String[] args) { // System.out.println("Đây là comment 1 dòng. Dòng này sẽ được trình biên dịch bỏ qua khi thực thi"); /* * System.out.println("Đây là comment nhiều dòng. Dòng này sẽ được trình biên dịch bỏ qua khi thực thi"); */ System.out.println("Đây là ví dụ về 3 cách comment code trong Java. Dòng này sẽ được trình biên dịch thực thi."); } }
Kết quả biên dịch chương trình:
Chúng ta thấy khi biên dịch chương trình thì trong màn hình console chúng ta chỉ thấy dòng "Đây là ví dụ về 3 cách comment code trong Java. Dòng này sẽ được trình biên dịch thực thi", đó là bởi vì khi gặp các đoạn code được comment thì trình biên dịch sẽ bỏ qua và chỉ thực thi những dòng lệnh không được comment. Vì comment code rất là quan trọng nên các bạn cố gắng sử dụng để cho code của các bạn rõ nghĩa hơn, giúp cho người đọc code có thể hiểu rõ hơn về nội dung chương trình của các bạn.
2. Quy tắc đặt tên trong Java
Thực ra những quy tắc này chúng ta tự đưa ra để dễ dàng phát triển dự án. Ví dụ khi một dự án có nhiều lập trình viên tham gia thì cần phải đưa ra một chuẩn (quy tắc) để đặt tên biến, tên hàm .... để khi nhìn vào các lập trình viên có thể hiểu code của nhau.
Trước tiên chúng ta tìm hiểu về quy tắc chung khi đặt tên biến, tên hằng, tên package, tên class, tên interface ...
Quy tắc chung.
- Lập trình viên nên khai báo tên có ý nghĩa và thể hiện được mục đích của file/ biến/ phương thức/... đó.
- Tên khai báo không nên dài quá 20 ký tự hoặc có thể ít hơn nhưng phải đảm bảo đầy đủ về mặt ý nghĩa của nó, và tên cũng không được đặt quá ngắn, trừ khi đó là tên tạm (ví dụ như: a, i, j,...).
- Tránh đặt những tên tương tự nhau. Ví dụ như, hai biến có tên là
persistentObject
vàpersistentObjects
không nên được sử dụng trong một Class vì sẽ dễ gây ra nhầm lẫn trong quá trình viết code. - Tránh đặt tên gây khó hiểu, dễ nhầm lẫn về mặt ý nghĩa.
- Tên chứa từ viết tắt cũng nên được hạn chế sử dụng trừ khi từ viết tắt đó phổ biến và được nhiều người biết đến. Ví dụ như: bạn không được đặt tên biến là
diemTB
mà nên đặt tên làdiemTrungBinh
. nhưng bạn hoàn toàn có thể đặt tên làfileHTML
thay vìfileHypertextMarkupLanguage
vì tên này quá dài và từ HTML cũng là một từ khá phổ biến, ít nhất là trong giới lập trình viên chúng ta. - Tránh kết hợp nhiều ngôn ngữ khác nhau (Tiếng Anh + Tiếng Việt + ...), chẳng hạn như addSinhVien, addLop,...
- Không trùng với các "từ khóa" (chúng ta sẽ tìm hiểu ở phần tiếp theo).
- Không được bắt đầu bằng số, ví dụ như:
123sinhVien
. - Tên phải được bắt đầu bằng một chữ cái, hoặc các ký tự như $, _, ...
- Không được chứa khoảng trắng, các ký tự toán học. Nếu tên bao gồm nhiều từ thì phân cách nhau bằng dấu _.
- Trong Java có phân biệt chữ hoa chữ thường. Ví dụ, như
hocSinh
sẽ khác vớihocsinh
.
Đặt tên biến.
- Tên biến phải tuân theo quy tắc chung ở trên được đặt theo quy tắc lạc đà (Camel Case): đó là chữ cái đầu tiên của từ đầu tiên phải viết thường và chữ cái đầu tiên của các từ tiếp theo phải viết hoa, ví dụ: diemTrungBinh.
- Ngoài ra, trong một số trường hợp, tên biến cần phải thể hiện rõ kiểu dữ liệu của biến đó. Ví dụ: biến có kiểu là List thì nên đặt tên là studentList, biến có kiểu là Set thì nên đặt tên là studentSet, biến có kiểu là Map thì nên đặt tên là studentMap, biến có kiểu là Array thì nên đặt tên là studentArray,...
Đặt tên hằng số (Constant).
Tên hằng số phải tuân theo quy tắc chung ở trên và phải được viết hoa (ví dụ PI). Nếu tên hằng số có từ hai từ trở lên thì phải có dấu _
ngăn cách giữa các từ, ví dụ: SO_FIBONACCI.
Đặt tên phương thức (Method).
- Tên phương thức phải tuân theo quy tắc chung ở trên.
- Chữ cái đầu tiên của từ đầu tiên trong tên phương thức phải viết thường và là một động từ, còn chữ cái đầu tiên của các từ tiếp theo phải viết hoa (giống quy tắc đặt tên biến). Ví dụ: tinhDiemTrungBinh, themNhanVien,...
Đặt tên Class và Interface.
- Tên Class và Interface phải tuân theo quy tắc chung ở trên và chữ cái đầu tiên của mỗi từ phải được viết hoa. Ví dụ: Class SinhVien.
- Tên Class nên có thêm những từ có hậu tố phía sau để thể hiện rõ hơn mục đích của Class đó, chẳng hạn như DivZeroException (chúng ta sẽ tìm hiểu rõ hơn về Exception ở những bài sau).
- Tên Interface nên có thêm chữ
I
đằng trước. Ví dụ: IFrame. - Tên lớp dẫn xuất nên có từ Abstract làm tiền tố, ví dụ:
Class AbstractStudent
(chúng ta sẽ tìm hiểu về lớp dẫn xuất ở những bài sau).
Đặt tên Package.
Tên Package phải tuân theo quy tắc chung ở trên và phải viết thường.
Đặt tên Project.
Tên Project phải tuân theo quy tắc chung ở trên và chữ cái đầu tiên của mỗi từ phải viết hoa.
3. Các từ khóa quan trọng trong Java.
Dưới đây là bảng liệt kê các từ khóa quan trọng trong Java. Chúng ta sẽ tìm hiểu ý nghĩa, công dụng của các từ khóa này trong những bài sau.
4. Nhập và xuất ký tự từ bàn phím.
System.out
là chuẩn đầu ra,System.err
dùng để hiển thị thông báo lỗi trong Java.System.in
là chuẩn đầu vào trong Java.
Ví dụ, chúng ta có đoạn chương trình sau:
package nhapxuat; import java.util.Scanner; public class Echo { public static void main(String[] args) { String ten; Scanner scanner = new Scanner(System.in); System.out.println("Mời bạn nhập vào chuỗi: "); // hiển thị dòng thông báo và xuống dòng ten = scanner.nextLine(); // hiển thị chuỗi System.out.println("Chào mừng bạn " + ten + " đến với Freetuts.net!"); } }
Khi thực thi chương trình, chúng ta sẽ được kết quả như sau:
Phân tích chương trình.
Các bạn thấy trong đoạn chương trình trên, tôi có sử dụng Scanner. Vậy Scanner là gì và dùng để làm gì?
- Scanner là 1 lớp trong gói java.util. Nó được dùng để nhập và xuất dữ liệu trong Java (dữ liệu này có thể là số, ký tự hoặc chuỗi,...).
- Để sử dụng lớp Scanner này, chúng ta cần phải import nó vào trong Project như sau:
import java.util.Scanner;
- Để sử dụng các phương thức của lớp Scanner thì các bạn cần có đối tượng (chi tiết về phương thức và đối tượng tôi sẽ giới thiệu vào các bài sau), vậy cách tạo đối tượng Scanner trong Java như sau:
Scanner scanner = new Scanner(System.in);
(trong đó System.in
là chuẩn đầu vào trong Java).
Tiếp theo, dòng lệnh scanner.nextLine();
sẽ trả về kết quả nội dung của chuỗi mà chúng ta nhập vào và sau đó sẽ gán kết quả đó vào biến ten
và xuất giá trị của biến này ra cửa sổ console bằng câu lệnh: System.out.println("Chào mừng bạn " + ten + " đến với Freetuts.net!");
5. Một số ký tự ngắt văn bản (escape character) phổ biến trong Java.
Kí tự | Mô tả |
---|---|
\t | Chèn vào một khoảng trắng trong đoạn văn bản. |
\b | Xóa lùi 1 ký tự trước \b trong đoạn văn bản. Có bao nhiêu ký tự \b thì sẽ xóa bấy nhiêu ký tự (chỉ hoạt động khi có chuỗi tồn tại phía trước và phía sau \b). |
\n | Chèn một dòng mới trong đoạn văn bản. |
\r | Thay thế các ký tự trước \r bằng số các ký tự phía sau \r |
\' | Chèn vào dấu nháy đơn trong đoạn văn bản. |
\" | Chèn vào dấu nháy kép trong đoạn văn bản. |
\\ | Chèn vào dấu \ trong đoạn văn bản. |
Lưu ý: Các ký tự như \b
và \r
khi chạy bằng công cụ Eclipse đôi khi sẽ làm phát sinh lỗi. Nên trong ví dụ dưới đây , tôi sẽ sử dụng Terminal để biên dịch chương trình. Để tìm hiểu về cách sử dụng Terminal để biên dich, các bạn quan sát cấu trúc thư mục chứa Project của tôi như sau:
Nội dung EscapeCharacters.java:
package kytungatdong; public class EscapeCharacters { public static void main(String[] args) { System.out.println("Tab: " + "Welcome\tto Freetuts!"); System.out.println("Backspace: " + "Welcome to\b Freetuts!"); System.out.println("New line: " + "Welcome\nto Freetuts!"); System.out.println("Welcome to\rFreetuts!"); // /r System.out.println("Single quote: " + "Welcome to\'Freetuts!"); System.out.println("Double quote: " + "Welcome to\''Freetuts!"); System.out.println("Backslash: " + "Welcome to\\Freetuts!"); } }
Để biên dịch chương trình, chúng ta gõ như sau:
Lưu ý, sau khi gõ dòng lệnh javac EscapeCharacters.java
, các bạn phải gõ cd..
(dòng lệnh số 6) rồi sau đó mới gõ tiếp dòng java kytungatdong.EscapeCharacters
nếu không thì trong một số trường hợp sẽ dẫn đến lỗi như sau: "Error: Could not find or load main class EscapeCharacters"
Kết quả sau khi biên dịch chương trình:
6. Lời kết.
Trong bài này, tôi đã giới thiệu những kiến thức cơ bản của Java: cú pháp trong Java: comment code; quy tắc đặt tên biến, tên lớp, hằng số, tên package, tên project trong Java; các từ khóa quan trọng trong Java; nhập và xuất ký tự từ bàn phím; một số ký tự ngắt văn bản (escape character) phổ biến. Đây là những khái niệm ban đầu để tiến hành lập trình với Java, các bạn nên nắm rõ những quy tắc này vì nó sẽ phục vụ cho các bài tiếp theo trong series này. Chúc các bạn học tốt!