NỘI DUNG BÀI VIẾT
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)
*/
Code language: JSON / JSON with Comments (json)
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ũngkhô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ứatừ 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 đượcbắ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
Java Developer là gì? Làm thế nào trở thành Java Developer?
- Tên biến phải tuân theo quy tắc chung ở trên được đặt theoquy 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.
Assert: Kiểm tra điều kiện đúng hay sai (hay dùng trong Unit Test).
Bloolean: Khai báo biến kiểu logic với hai giá trị: True or False.
Break: Lệnh switch-case hoặc dùng để thoát khỏi vòng lặp.
Byte: Các giá trị nguyên chiếm 8 bit (1byte).
Case: Trường hợp được chọn theo Switch (chỉ dùng khi được đi kèm Switch).
Catch: Dùng để bắt ngoại lệ, dùng kèm với try để xử lý những ngoại lệ nảy sinh trong chương trình.
Char: Là kiểu ký tự Unicode, mỗi ký tự có 16 bit (2 byte).
Class: Dùng để định nghĩa class.
Const: Không thể dùng trong java bởi nó chưa được sử dụng.
Continue: Được dùng để dừng chu trình (interation) lặp hiện tại và bắt đầu chu trình kế tiếp.
Default: Mặc định được thực thi nếu không có case nào trả về giá trị True – được dùng trong Switch case.
Do: Dùng ở vòng lặp While.
Double: Là kiểu số thực có các giá trị được biểu diển bởi dấu phẩy động 64 bit (8byte).
Else: Rẽ nhánh điều kiện ngược với If.
Enum: Kiểu dữ liệu Enum – tương đối giống với kiểu dữ liệu mảng. Khác biệt ở chỗ các phần tử của kiểu này có thể bổ sung thêm các phương thức.
Extends: Dùng để định nghĩa lớp con kế thừa những thuộc tính và phương thức từ lớp cha.
Final: Dùng để chỉ ra các biến – phương thức không thay đổi sau khi đã được định nghĩa. Những phương thức final không được kế thừa và override.
Finally: Thực hiện một khối lệnh đến cùng, bỏ qua các ngoại lệ – dùng trong Try-cactch.
Float: Kiểu số thực – Các giá trị được biểu diện bởi dạng dấu phẩy động 32 bit.
For: Dùng trong vòng lặp for – Các bước lặp đã xác định từ trước.
Goto: Chưa được sử dụng.
If: Là lệnh chọn theo điều kiện logic.
Implements: Xây dựng 1 lớp mới cài đặt những phương thức từ interface xác định trước.
Import: Dùng để yêu cầu 1 hay 1 vài lớp ở các gói chỉ định cần nhập vào để sử dụng trong ứng dụng hiện thời
Long: Là kiểu số nguyên lớn – Các giá trị chiếm 64 bit (8 byte).
Native: Sử dụng khi lập trình viên muốn dùng code bằng ngôn ngữ khác.
New: Khởi tạo đối tượng.
Package: Sử dụng khi xác định 1 gói sẽ chứa một số lớp trong file mã nguồn.
Private: Khai báo biến dữ liệu, phương thức riêng trong từng lớp và chỉ cho phép truy cập trong lớp đó.
Protected: Dùng để khai báo biến dữ liệu – Chỉ được truy cập ở lớp cha và những lớp con của lớp đó.
Public: Dùng để khai báo biến dữ liệu, lớp – Phương thức công khai có thể tự truy cập ở mọi hệ thống.
Return: Kết thúc phương thức, trả về giá trị cho phương thức.
Short: Kiểu số nguyên ngẵn – giá trị chiếm 16 bit (2byte).
Static: Định nghĩa biến, phương thức của một lớp có thể được truy cập trực tiếp từ lớp mà không thông qua khởi tạo đối tượng của lớp.
Super: Biến chỉ tới đối tượng ở lớp cha.
Switch: Sử dụng trong câu lệnh điều khiển Switch case.
Synchronized: Chỉ ra là ở mõi thời điểm chỉ có 1 đối tượng hay 1 lớp có thể truy nhập đến biến dữ liệu hoặc phương thức loại đó – Thường được sử dụng trong lập trình đa luồng (multithreading).
This: Biến chỉ tới đối tượng hiện thời.
Throw: Tạo một đối tượng Exception nhằm chỉ định 1 trường hợp ngoại lệ xảy ra.
Throw: Chỉ định cho qua ngoại lệ nếu exception xảy ra.
Transient: Chỉ định rằng nếu một đối tượng được Serialized, giá trị của biến sẽ không cần được lưu trữ.
Try: Thử thực hiện cho đến khi xảy ra 1 ngoại lệ.
Void: chỉ định 1 phương thức không trả về giá trị.
Volatile: Báo cho chương trình dịch biết là biến khai báo volatile có thể thay đổi tùy ý trong các luồng (thread).
While: Sử dụng trong lệnh điều khiển While.
4. 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. |
5. Tổng kết
Trong bài viết này, mình đã giới thiệu những kiến thức cơ bản của Java. Đây là những khái niệm ban đầu để tiến hành học lập trình với Java.
Happy learning!!!