1. Danh sách các từ

Như trong bất kỳ ngôn ngữ lập trình nào, Java có những từ có ý nghĩa đặc biệt. Ví dụ, returnhoặc ifhoặc while. Những từ này được gọi là từ khóa ( keywords ) và được ngôn ngữ Java coi là dành riêng.

Bạn không thể sử dụng những từ này làm tên biến, tên phương thức hoặc tên lớp. Trình biên dịch sẽ luôn giải thích chúng theo cách được xác định nghiêm ngặt. Có 54những từ như vậy trong Java.

abstract
assert
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
enum
extends
final
finally
float
for
goto
if
implements
import
instanceof
int
interface
long
native
new
package
private
protected
public
return
short
static
strictfp
super
switch
synchronized
this
throw
throws
transient
try
void
volatile
while
var
true
null
false

Bạn đã biết một số trong số họ và chúng ta sẽ nói về phần còn lại ngay bây giờ.


2. Các loại nguyên thủy

Như bạn có thể nhớ, Java có 8 kiểu nguyên thủy và mỗi kiểu có từ khóa riêng:

  • byte
  • short
  • int
  • long
  • char
  • float
  • double
  • boolean
  • void

Nếu bạn có đủ óc tò mò, rất có thể bạn đã thử đặt tên cho một biến int. Và tất nhiên bạn đã không thành công. Điều này chính xác là do tên của tất cả các loại nguyên thủy là các từ dành riêng.

Loại voidcũng thuộc loại này.


3. Vòng lặp và nhánh

Các vòng lặp và các nhánh cũng cung cấp cho chúng ta một danh sách từ khóa khá dài:

  • if
  • else
  • switch
  • case
  • default
  • while
  • do
  • for
  • break
  • continue

Chỉ cần 10 từ là đủ để ngôn ngữ cung cấp một số loại vòng lặp, nhánh và câu lệnh điều khiển để ngắt các vòng lặp ( breakcontinue) và nhiều nhánh ( switch). Bạn đã quen thuộc với tất cả các từ khóa này.


4. Ngoại lệ

Ngoại lệ cung cấp cho chúng tôi 5 từ khóa:

  • try
  • catch
  • finally
  • throw
  • throws

Đây là tất cả các phần của một try-catch-finallykhối. Toán tử ném ngoại lệ là throwthrowstừ khóa hỗ trợ checkedcơ chế ngoại lệ.

Tin tốt là bạn đã quen thuộc với tất cả các từ khóa liên quan đến ngoại lệ, vì vậy bạn cũng đã gần như quen thuộc với việc làm việc với các ngoại lệ.


5. Khả năng hiển thị

Ở đây chỉ có ba từ khóa và bạn đã quen thuộc với chúng.

  • private
  • protected
  • public

publiccho phép truy cập vào một phương thức/biến/lớp từ bất kỳ đâu trong chương trình.

privatecấm một phương thức/biến/lớp được truy cập từ bất kỳ đâu trong chương trình. Chỉ được phép truy cập trong cùng một lớp với phương thức được đánh dấu bằng công cụ privatesửa đổi.

protectedhoạt động giống như private, nhưng cũng cho phép truy cập vào một phương thức/biến/lớp từ các lớp kế thừa. Lợi ích của công cụ sửa đổi này sẽ trở nên rõ ràng hơn đối với bạn khi bạn làm quen với OOP và kế thừa.


6. Làm việc với các lớp

Có 11 từ khóa trong danh mục này:

  • class
  • interface
  • enum
  • import
  • package
  • extends
  • implements
  • static
  • final
  • abstract
  • default

Chúng có thể được chia thành 4 nhóm.

Nhóm đầu tiên liên quan đến việc tạo ra các lớp: class, interfaceenum. Bạn đã học về cách khai báo các lớp và enums . Từ interfacekhóa được sử dụng để khai báo một loại giống như lớp khác: giao diện.

Nhóm thứ hai bao gồm các từ khóa gói và nhập khẩu mà bạn đã quen thuộc. Từ khóa gói được sử dụng để chỉ định gói của một lớp trong tệp lớp. Và importnhư vậy chúng ta có thể sử dụng tên viết tắt của các lớp bên ngoài khi viết các lớp của riêng mình.

Từ khóa extendsimplementsđược sử dụng để kế thừa. Bạn sẽ xem xét chúng khi bắt đầu nhiệm vụ Java Core.

Cuối cùng, nhóm cuối cùng bao gồm các công cụ sửa đổi static, final, defaultabstract. Bạn đã biết một chút về staticfinal. Từ abstractkhóa được sử dụng để tạo một lớp hoặc phương thức trừu tượng. Bạn sẽ biết thêm chi tiết khi nghiên cứu tính kế thừa trong nhiệm vụ Java Core.


7. Làm việc với đối tượng và biến

Sáu từ khóa khác được sử dụng khi làm việc với các đối tượng, phương thức và biến.

  • new
  • instanceof
  • this
  • super
  • return
  • var(kể từ Java 10)

Toán newtử được sử dụng để tạo các đối tượng mới — bạn đã biết điều đó.

Toán instanceoftử được sử dụng để xác minh rằng một biến có chứa tham chiếu đến một đối tượng thuộc một loại cụ thể. Bạn đã quen thuộc với nó.

Từ thiskhóa được sử dụng để giải quyết các vấn đề phát sinh do bóng của các biến thể hiện và các phương thức. Bạn cũng đã nghiên cứu điều này.

Từ superkhóa tương tự như this, nhưng nó được dùng để chỉ các phương thức và biến của lớp cha. Lớp cha còn được gọi là lớp cha.

Câu returnlệnh được sử dụng để trả về giá trị của một phương thức và cũng để kết thúc việc thực thi một phương thức.

Cuối cùng, varlà để khai báo một biến có kiểu được suy ra tự động. Bạn đã quen thuộc với điều này.


8. Đa luồng

Ở cấp độ cú pháp Java, đa luồng chỉ được biểu thị bằng hai từ.

  • synchronized
  • volatile

Chúng tôi thậm chí sẽ không chạm vào chúng. Bắt đầu nhiệm vụ Đa luồng Java , sau đó chúng ta sẽ đi sâu vào.


9. Linh tinh

Ngoài ra còn có 4 từ khóa đặc biệt khác:

  • native
  • transient
  • assert
  • strictfp

nativelà một công cụ sửa đổi có thể được viết trước một khai báo phương thức. Điều đó có nghĩa là mã phương thức không được viết bằng Java, mà bằng C++ và được nhúng trong máy Java (tốt, hoặc một DLL). Như bạn có thể đã đoán, bản thân máy Java cũng được viết bằng C++. Cũng giống như nhiều phương pháp thư viện tiêu chuẩn.

transientlà một công cụ sửa đổi có thể được viết trước các biến thể hiện (các trường của một lớp). Nó yêu cầu máy Java bỏ qua (hoặc bỏ qua) biến được đánh dấu trong khi tuần tự hóa một đối tượng của lớp. Bạn có thể tìm hiểu thêm về tuần tự hóa trong nhiệm vụ Bộ sưu tập Java.

assertcũng đến với Java từ C++. Với sự trợ giúp của nó, bạn có thể thêm các kiểm tra bổ sung vào mã của mình (ví dụ: để kiểm tra xem một biến có phải là null hay không). Điều quan trọng ở đây là những kiểm tra này được bật hoặc tắt tại thời điểm biên dịch.

Bạn có thể xây dựng dự án để thử nghiệm nội bộ và những kiểm tra này sẽ được thực hiện (có trong bản dựng). Hoặc bạn có thể vô hiệu hóa chúng trong quá trình biên dịch để tạo phiên bản chương trình sẽ cung cấp cho người dùng.

Đối với strictfptừ khóa và độ chính xác cao hơn của bộ vi xử lý Intel, chúng tôi có cả một câu chuyện dành cho bạn .


10. Để dành nhưng không dùng

Ngoài ra còn có hai từ khóa được bảo lưu nhưng không được sử dụng.

  • const
  • goto

Đây cũng là di sản của ngôn ngữ C++, nơi chúng tồn tại và được sử dụng.


11. Không phải từ khóa

Chính thức, truefalsehằng nullsố không phải là từ khóa. Điều đó nói rằng, mỗi người đều có đặc thù của họ. Bạn không thể đặt tên cho một phương thức truehoặc một biến false. Trình biên dịch sẽ không hiểu đoạn mã đó và sẽ không biên dịch nó.