Câu lệnh điều khiển trong Java
Câu lệnh điều khiển trong Java có thể chia thành ba loại chính:
- Câu lệnh điều kiện
- if, else-if, else
- switch
- Câu lệnh lặp
- while
- do…while
- for
- foreach
- Câu lệnh ngắt
- break
- continue
- return
Câu lệnh điều kiện
Câu lệnh if
Câu lệnh if
kiểm tra xem biểu thức trong dấu ngoặc đơn có đúng hay không. Nếu đúng, thì khối mã lệnh bên trong câu lệnh if
sẽ được thực thi, ngược lại, nó sẽ bỏ qua khối mã lệnh đó và tiếp tục thực thi các câu lệnh tiếp theo.
Cú pháp
Ví dụ
Câu lệnh if…else
Câu lệnh if
có thể được kết hợp với câu lệnh else
để thực thi một khối mã lệnh khác khi biểu thức trong câu lệnh if
là sai.
Cú pháp
Ví dụ
Câu lệnh if…else if…else
- Câu lệnh
if
có thể có tối đa 1 câu lệnhelse
và câu lệnhelse
phải đứng sau tất cả các câu lệnhelse if
. - Câu lệnh
if
có thể có nhiều câu lệnhelse if
, nhưng chúng phải đứng trước câu lệnhelse
. - Một khi một câu lệnh
else if
được thực thi, các câu lệnhelse if
vàelse
khác sẽ được bỏ qua.
Cú pháp
Ví dụ
Câu lệnh if lồng nhau
Có thể sử dụng câu lệnh if else
lồng nhau. Điều này có nghĩa là bạn có thể sử dụng câu lệnh if
hoặc else if
trong một câu lệnh if
hoặc else if
khác.
Cú pháp
Ví dụ
Câu lệnh switch
Câu lệnh switch
kiểm tra một biến với một loạt các giá trị để xem nó có bằng với giá trị nào đó hay không. Mỗi giá trị được gọi là một nhánh.
Câu lệnh switch
có các quy tắc sau:
- Kiểu biến trong câu lệnh
switch
chỉ có thể làbyte
、short
、int
、char
hoặcString
. - Câu lệnh
switch
có thể có nhiều câu lệnhcase
. Mỗi câu lệnhcase
được theo sau bởi một giá trị để so sánh và dấu hai chấm. - Kiểu dữ liệu của giá trị trong câu lệnh
case
phải giống với kiểu dữ liệu của biến và chỉ có thể là hằng số hoặc giá trị chữ cái. - Khi giá trị của biến bằng với giá trị trong câu lệnh
case
, các câu lệnh sau câu lệnhcase
đó sẽ được thực thi cho đến khi gặp câu lệnhbreak
. - Khi gặp câu lệnh
break
, câu lệnhswitch
kết thúc. Chương trình nhảy đến câu lệnh sau câu lệnhswitch
. Câu lệnhcase
không nhất thiết phải chứa câu lệnhbreak
. Nếu không có câu lệnhbreak
, chương trình sẽ tiếp tục thực thi câu lệnhcase
tiếp theo cho đến khi gặp câu lệnhbreak
. - Câu lệnh
switch
có thể chứa một nhánhdefault
, nhánh này phải là nhánh cuối cùng của câu lệnhswitch
. Nhánhdefault
sẽ được thực thi khi không có giá trị của câu lệnhcase
nào khớp với giá trị của biến.
Cú pháp
Ví dụ
Câu lệnh lặp
Vòng lặp while
Vòng lặp while
sẽ tiếp tục thực hiện mã lệnh trong khối lệnh cho đến khi biểu thức boolean trở thành false
.
Cú pháp
Ví dụ
Vòng lặp do…while
Vòng lặp do…while
tương tự như vòng lặp while
, nhưng khối lệnh sẽ được thực thi ít nhất một lần, ngay cả khi biểu thức boolean là false
.
Cú pháp
Biểu thức boolean được đặt sau khối lệnh, vì vậy khối lệnh sẽ được thực thi trước khi kiểm tra biểu thức boolean. Nếu giá trị của biểu thức boolean là true
, khối lệnh sẽ được thực thi tiếp tục. Nếu giá trị của biểu thức boolean là false
, vòng lặp sẽ kết thúc và chương trình sẽ tiếp tục thực hiện các câu lệnh sau vòng lặp.
Ví dụ
Vòng lặp for
Mặc dù tất cả các vòng lặp có thể được biểu diễn bằng cách sử dụng while
hoặc do…while
, nhưng Java cung cấp một cú pháp đặc biệt cho vòng lặp for
, làm cho một số vòng lặp trở nên dễ dàng hơn.
Vòng lặp for
thực hiện một số lần lặp đã biết trước.
Cú pháp
- Đầu tiên, khởi tạo được thực hiện. Bạn có thể khai báo một biến mới hoặc khởi tạo một biến đã tồn tại.
- Sau đó, biểu thức được kiểm tra. Nếu giá trị của biểu thức là
true
, khối lệnh sẽ được thực thi. Nếu giá trị của biểu thức làfalse
, vòng lặp sẽ kết thúc và chương trình sẽ tiếp tục thực hiện các câu lệnh sau vòng lặp. - Sau khi thực hiện khối lệnh, cập nhật được thực hiện. Thường là tăng giá trị của biến điều khiển vòng lặp.
- Sau đó, biểu thức được kiểm tra lại. Quá trình này tiếp tục cho đến khi giá trị của biểu thức là
false
.
Ví dụ
Vòng lặp foreach
Java 5 giới thiệu một vòng lặp foreach được sử dụng chủ yếu cho mảng.
Cú pháp
kiểu_đối_tượng: Khai báo một biến mới có kiểu dữ liệu của các phần tử trong mảng.
biến: Tên biến mới được khai báo, đại diện cho từng phần tử trong mảng.
mảng: Tên mảng hoặc biểu thức trả về một mảng.
Ví dụ
Câu lệnh ngắt
Từ khóa break
break
được sử dụng chủ yếu trong vòng lặp hoặc câu lệnh switch
, để thoát khỏi toàn bộ khối lệnh.
break
sẽ thoát khỏi vòng lặp hiện tại và tiếp tục thực hiện các câu lệnh sau vòng lặp.
Ví dụ
Từ khóa continue
continue
được sử dụng trong bất kỳ cấu trúc lặp nào. Nó cho phép chương trình nhảy ngay lập tức đến lần lặp tiếp theo.
Ví dụ
Từ khóa return
return
dùng để thoát khỏi toàn bộ khối lệnh của một phương thức. Các câu lệnh sau return
trong phương thức sẽ không được thực thi.
Ví dụ
🔔 Lưu ý: Hãy lưu ý sự khác biệt giữa
return
vàbreak
.
Thực hành
- Trong trường hợp có nhiều lựa chọn, câu lệnh
switch
tốt hơn câu lệnhif…else if…else
. - Đừng ngần ngại sử dụng
default
trong câu lệnhswitch
. - Đặt câu lệnh
default
cuối cùng trong câu lệnhswitch
. - Uu tiên vòng lặp
foreach
hơn vòng lặpfor
truyền thống. - Không lặp qua các phần tử của một collection và xóa các phần tử cụ thể. Cách đúng là lặp qua iterator của collection và xóa phần tử.