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
forkế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.