Khối lệnh
Khối lệnh là nhiều câu lệnh đặt trong dấu {
và }
. Về mặt ngữ nghĩa thì một câu lệnh với một khối lệnh là tương đương với nhau.
Câu lệnh if
Sử dụng câu lệnh if
để thực thi một câu lệnh nếu một điều kiện logic là true
. Có thể sử dụng mệnh đề else
để thực thi một câu lệnh nếu điều kiện là false
.
|
|
tương đương với
|
|
Ví dụ câu lệnh else
|
|
Vòng lặp với for
Một vòng lặp for
, while
hoặc do-while
lặp lại cho đến khi một điều kiện xác định ước tính thành false
.
Với vòng lặp for có cấu trúc như sau:
|
|
Khi một vòng lặp for thực thi theo thứ tự sau đây:
- Biểu thức khởi tạo, được thực thi một lần duy nhất.
- Biểu thức điều kiện được kiểm tra. Nếu là đúng, các câu lệnh lặp thực thi, nếu sai thì vòng lặp
for
kết thúc. - Thực thi các câu lệnh lặp trong vòng for.
- Biểu thức gia tăng được thực thi.
- Trở lại Bước 2.
Ví dụ sau in các số từ 0 đến 9:
|
|
Vòng lặp while
Tương tự vòng lặp for
, chỉ khác là bỏ biểu thức khởi tạo và biểu thức gia tăng.
Ví dụ sau cũng in từ 0
đến 9
nhưng sử dụng vòng lặp while
thay vì vòng lặp for
trong ví dự trên:
|
|
Vòng lặp do-while
Tương tự vòng lặp while
, chỉ khác là lần lặp đầu tiên không kiểm tra điều kiện.
Ví dụ sau cũng in từ 0
đến 9
nhưng sử dụng vòng lặp do-while
:
|
|
Điều kiện switch-case
Biểu thức switch-case
kiểm tra biểu thức đúng với từng case nào thì chạy case đó trở về sau. Câu lệnh break;
sẽ dừng các case tiếp theo. Nhãn default
sẽ thực thi khi không có case nào đúng. Giá trị trong biểu thức switch
phải là số (int
, long
, char
,… hoặc kiểu enum
).
|
|
Thực hiện các case liên tiếp nhau
|
|
Câu lệnh break, continue, goto
Sử dụng câu lệnh break
để chấm dứt vòng lặp for
, while
, do-while
và switch-case
.
Còn câu lệnh continue
sẽ chạy tiếp biểu thức kiểm tra điều kiện câu lệnh while
, do-while
, for
thay vì chạy các câu lệnh bên dưới.
Ví dụ sẽ tính tổng các số từ 0 đến 4:
|
|
Ví dụ sẽ tính tổng các số chẵn từ 0
đến 9
sử dụng câu lệnh continue
:
|
|
Câu lệnh goto
sẽ di chuyển câu lệnh thực thi tiếp theo tới một vị trí đã đánh dấu. Vị trí này được gọi là label
.
|
|
Lệnh break
và continue
cũng có thể sử dụng với label. Nhưng thường chúng ta không sử dụng goto
, break
và continue
với label để chương trình dễ đọc và dễ debug hơn.