Từ Khóa (Keywords)
Từ khóa giống như những chữ dành riêng trong Java, bạn không thể dùng chúng để đặt tên cho các biến, hàm hoặc lớp. Chúng có vai trò đặc biệt trong việc xây dựng cấu trúc của chương trình.
Ⅰ. Tại sao lại có từ khóa?
Giúp phân biệt các từ khóa với những cái tên do người lập trình đặt.
Đảm bảo tính nhất quán của ngôn ngữ lập trình Java.
Tránh xung đột giữa các từ khóa với các tên do người lập trình đặt.
Ⅱ. Danh sách các từ khóa trong Java
Dưới đây là danh sách các từ khóa trong ngôn ngữ lập trình Java. Bạn không thể sử dụng bất kỳ từ khóa nào trong danh sách này làm định danh trong chương trình. Ngoài ra:
Các từ khóa const và goto được dành riêng nhưng không được sử dụng trong Java.
"Các giá trị true, false và null trông giống từ khóa nhưng thực chất là các giá trị theo nghĩa đen (literals). Bạn cũng không thể sử dụng chúng làm định danh trong chương trình của mình."
↳ abstract (trừu tượng): Dùng để khai báo lớp trừu tượng, có thể cung cấp triển khai của interface và chứa cả phương thức trừu tượng và không trừu tượng.
↳ boolean (logic): Dùng để khai báo biến kiểu logic, chỉ lưu trữ giá trị true (đúng) hoặc false (sai).
↳ break (dừng): Dùng để dừng (thoát) khỏi vòng lặp hoặc switch statement. Nó dừng luồng chương trình hiện tại theo điều kiện xác định
↳ byte (ký tự): Dùng để khai báo biến lưu trữ dữ liệu 8 bit.
↳ case (thẻ): Dùng với switch statement để đánh dấu các khối lệnh.
↳ catch (bắt lỗi): Dùng để bắt các ngoại lệ (errors) do khối try sinh ra. Nó phải được dùng sau khối try.
↳ char (ký tự): Dùng để khai báo biến lưu trữ một ký tự Unicode 16 bit không dấu.
↳ class (lớp): Dùng để khai báo một lớp (blueprint) - mẫu thiết kế để tạo các đối tượng.
↳ continue (tiếp tục): Dùng để tiếp tục vòng lặp. Nó bỏ qua phần code còn lại của vòng lặp hiện tại theo điều kiện xác định và bắt đầu lặp lại từ đầu.
↳ default (mặc định): Dùng để xác định khối lệnh mặc định trong switch statement.
↳ do (làm): Dùng trong câu lệnh điều khiển để tạo một vòng lặp. Nó có thể lặp lại một phần chương trình nhiều lần. Dùng trong câu lệnh lặp do-while.
↳ double (số thực đôi): double là một từ khóa dùng để khai báo biến có thể lưu trữ các số thực (decimal numbers) có độ chính xác cao. Nó chiếm 64 bit bộ nhớ.
↳ else (ngược lại): Dùng để chỉ nhánh lệnh khác (ngược lại) trong câu lệnh if.
↳ enum (liệt kê): Dùng để định nghĩa một tập hợp các hằng số cố định. Các hàm tạo (constructor) của enum luôn là private hoặc mặc định.
↳ extends (mở rộng): Dùng để chỉ ra rằng một lớp được kế thừa từ một lớp hoặc interface khác.
↳ final (hằng): Dùng để khai báo biến lưu trữ giá trị hằng số (không đổi). Nó được dùng để hạn chế việc cập nhật giá trị của biến.
↳ finally (cuối cùng): Dùng để khai báo một khối lệnh trong try-catch. Khối lệnh này luôn được thực thi bất kể ngoại lệ có được xử lý hay không.
↳ float (số thực đơn): Dùng để khai báo biến lưu trữ số thực 32 bit.
↳ for (vì): Dùng để bắt đầu một vòng lặp for. Nó được dùng để thực thi một loạt lệnh/hàm nhiều lần khi một điều kiện nào đó trở thành true. Nếu số lần lặp được xác định trước, nên dùng for loop.
↳ if (nếu): Dùng để kiểm tra điều kiện. Nó thực thi khối lệnh if nếu điều kiện là true.
↳ implements (thực thi): Dùng để triển khai (thực thi) một interface.
↳ import (nhập): Dùng để sử dụng các lớp và interface có sẵn trong các gói (package) khác.
↳ instanceof (kiểu của): Dùng để kiểm tra xem một đối tượng có phải là instance của một lớp cụ thể hoặc implements một interface hay không.
↳ int (số nguyên): Dùng để khai báo biến lưu trữ số nguyên 32 bit có dấu.
↳ interface (giao diện): Dùng để khai báo một giao diện, chỉ chứa các phương thức trừu tượng.
↳ long (số nguyên dài): Dùng để khai báo biến lưu trữ số nguyên 64 bit.
↳ native (gốc): Dùng để chỉ ra rằng một phương thức được viết bằng ngôn ngữ gốc (native language) sử dụng JNI (Java Native Interface).
↳ new (mới): Dùng để tạo các đối tượng mới.
↳ null (rỗng): Trong Java, null được dùng để thể hiện một tham chiếu không trỏ đến bất kỳ đối tượng nào. Nó giống như việc bạn đang cầm một cái hộp rỗng, không chứa đựng gì bên trong.
↳ package (gói): Dùng để khai báo một gói (package) trong Java, tập hợp các lớp có liên quan.
↳ private (riêng tư): Là một từ khóa kiểm soát quyền truy cập. Nó chỉ ra rằng một phương thức hoặc biến chỉ có thể được truy cập bên trong lớp mà nó được khai báo.
↳ protected (bảo vệ): Cũng là từ khóa kiểm soát quyền truy cập. Biến hoặc phương thức được đánh dấu protected có thể được truy cập trong cùng package và các lớp con ở các package khác (thông qua kế thừa).
↳ public (công cộng): Là từ khóa kiểm soát quyền truy cập. Biến hoặc phương thức được đánh dấu public có thể được truy cập từ bất kỳ đâu trong chương trình.
↳ return (trả về): Dùng để trả về giá trị từ một phương thức sau khi thực thi xong.
↳ short (số nguyên ngắn): Dùng để khai báo biến lưu trữ số nguyên 16 bit.
↳ static (thuộc lớp): Dùng để khai báo biến hoặc phương thức tĩnh thuộc về lớp. Biến/phương thức static không cần tạo đối tượng của lớp để sử dụng.
↳ Tránh xung strictfp (chính xác dấu chấm động): Dùng để hạn chế các phép tính dấu chấm động nhằm đảm bảo tính khả dụng (chạy được trên nhiều nền tảng khác nhau). giữa các từ khóa với các tên do người lập trình đặt.
↳ super (cha): Là từ khóa tham chiếu đến lớp cha. Nó được dùng để gọi phương thức của lớp cha.
↳ switch (chuyển đổi): Dùng để tạo câu lệnh switch. Switch thực hiện các khối lệnh khác nhau dựa trên giá trị của một biến so sánh với nhiều giá trị khác nhau.
↳ synchronized (đồng bộ): Dùng để đồng bộ hóa các đoạn code hoặc phương thức trong lập trình đa luồng. Nó giúp tránh xung đột dữ liệu giữa các luồng.
↳ this (đối tượng hiện tại): Dùng để tham chiếu đến đối tượng hiện tại trong một phương thức hoặc constructor.
↳ throw (ném): Dùng để ném một ngoại lệ (exception) một cách chủ động. Thường dùng để ném các ngoại lệ tùy chỉnh.
↳ throws (khai báo ngoại lệ): Dùng để khai báo một ngoại lệ mà một phương thức có thể ném. Các ngoại lệ bắt buộc (checked exceptions) có thể được truyền lan (propagate) thông qua throws.
↳ transient (tạm thời): Dùng trong serialization (gói dữ liệu thành luồng). Nếu một thành viên dữ liệu được đánh dấu transient, nó sẽ không được lưu trữ trong quá trình serialization.
↳ try (thử): Dùng để bắt đầu một khối code có thể ném ngoại lệ. Khối try thường đi kèm với khối catch (bắt ngoại lệ) hoặc finally (luôn thực thi).
↳ void (rỗng): Dùng để chỉ ra rằng một phương thức không trả về giá trị.
↳ volatile (biến đổi): Dùng để báo hiệu rằng một biến có thể thay đổi bất đồng bộ. Biến volatile yêu cầu đồng bộ hóa truy cập giữa các luồng.
↳ while (trong khi): Dùng để tạo vòng lặp while. Vòng lặp while lặp lại một phần chương trình nhiều lần chừng nào một điều kiện nào đó còn đúng. Nếu số lần lặp không xác định trước, nên dùng while loop.