Java - Chương 3: Cấu trúc điều khiển
Lệnh break: dùng để thoát khỏi cấu trúc switch, vòng
lặp while, do while, for trong cùng chứa nó.
o Lệnh continue: dùng để tiếp tục vòng lặp trong cùng
chứa nó (ngược với lệnh break).
o Nhãn (label): không giống như C/C++, Java không hỗ
trợ lệnh goto để nhảy đến 1 vị trí nào đó của chương
trình.
o Java dùng kết hợp nhãn (label) với từ khóa break và
continue để thay thế cho lệnh goto
27 trang |
Chia sẻ: nguyenlam99 | Lượt xem: 1043 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Java - Chương 3: Cấu trúc điều khiển, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 3
Cấu trúc điều khiển
o Điều khiển rẽ nhánh:
Mệnh đề if-else
Mệnh đề switch-case
o Vòng lặp (Loops):
Vòng lặp while
Vòng lặp do-while
Vòng lặp for
o Cấu trúc lệnh nhảy:
Lệnh break
Lệnh continue
Nhãn (lable)
Lệnh goto
Chương 3: Cấu trúc điều khiển
Lệnh if
o Cú pháp:
if ()
{
[câu lệnh 1];
[câu lệnh 2];
}
Lệnh if
public class TestIf {
• public static void main( String args[ ] ){
– int van, toan;
– van = 8;
– toan = 6;
– if(((toan+van)/2 > 5) && (toan > 5))
• System.out.println(“Kết quả đậu \n”);
• }
}
Lệnh if
import java.util.Date;
public class TestIf 2{
• public static void main( String args[ ] ){
• Date today = new Date();
• if( today.getDay() == 0 )
• System.out.println(“Hôm nay là chủ nhật\n”);
• }
}
Lệnh if else
o Cú pháp:
Lệnh if else
public class TestIf {
• public static void main( String args[ ] ){
– Int van, toan;
– van = 8;
– toan = 6;
– if(((toan+van)/2 > 5) && (toan > 5))
• System.out.println(“Kết quả đậu \n”);
• else
• System.out.println(“Kết quả không đậu \n”);
• }
}
Lệnh if else
import java.util.Date;
public class TestIf 2{
• public static void main( String args[ ] ){
• Date today = new Date();
• if( today.getDay() == 0 )
• System.out.println(“Hôm nay là chủ nhật\n”);
• else
• System.out.println(“Hôm nay không phải là chủ
nhật\n" );
• }
}
Lệnh if .. else
import java.util.Date;
public class TestIf {
• public static void main( String args[ ] ){
– Date today = new Date();
• if( today.getDay() == 0 )
• System.out.println(“Hôm nay là chủ nhật\n”);
• else
• System.out.println(“Hôm nay không phải là chủ
nhật\n" );
• }
}
Lỗi với lệnh if .. else
o Thêm ; ở cuối mệnh đề if hoặc else
o Lỗi này rất khó tìm, vì nó không phải là lỗi biên dịch
hay lỗi chạy chương trình, nó là lỗi logic.
Lưu ý với lệnh if .. else
o Nhiều lệnh IF lồng vào nhau:
Lưu ý với lệnh if .. else
o Mệnh đề else gắn với mệnh đề if gần nhất trong cùng
một khối.
VD:
public class TestIf3{
• public static void main( String args[ ] ){
int i = 1; int j = 2; int k = 3;
if(i > j)
if(i > k)
System.out.println(“A”);
else //của if(i > k)
System.out.println(“B”);
}
}
Lệnh switch case
o Cấu trúc lệnh switch tương tự các cặp lệnh if – else
liên tiếp nhau
Lệnh switch case
Lệnh switch case
public static void main(String[] args) {
int a = 0;
switch (a) {
case 0:
System.out.println(“Zero”);
break;
case 10:
System.out.println(“Ten”);
case 20:
System.out.println(“Twenty”);
break;
default:
System.out.println(“Default”);
break;
}
}
So sánh lệnh if else và switch case
public static void main(String[] args) {
int gioitinh = 1;
switch (gioitinh) {
case 0:
System.out.println(“Bé trai”);
break;
case 1:
System.out.println(“Bé gái”);
break;
default:
System.out.println(“Chưa xác
định”);
break;
}
}
public static void main(String[]
args) {
int gioitinh = 1;
if (gioitinh == 0)
System.out.println(“Bé trai”);
else if
System.out.println(“Bé gái”);
else
System.out.println(“Chưa xác
định”);
}
So sánh lệnh if else và switch case
• if-else
Mỗi if có biểu thức luận
lý bên trong để định giá
trị là đúng hoặc sai
Các biến trong biểu thức
có thể định giá trị của bất
kỳ kiểu giá trị nào
Chỉ một khối lệnh được
thực thi
• swich-case
Mỗi case liên quan trở lại
với giá trị ban đầu của
biểu thức trong câu lệnh
switch
Biểu thức phải định giá trị
là kiểu byte, short, char,
int
Nếu câu lệnh break bị bỏ
qua có nhiều khối lệnh
được thực hiện
Lệnh lặp while
o Cú pháp
o Lưu ý: Không nên sử dụng giá trị kiểu float, double để
kiểm tra đẳng thức trong vòng lặp.
Lệnh lặp while
// Tính tổng các số lẻ từ 1 đến 100
public static void main(String[] args) {
• int tong = 0, i = 1;
• while (i<=100){
• tong+=i; i+=2;
• }
• System.out.println(tong);
}
Lệnh lặp do while
o Cú pháp
Lệnh lặp do while
// Tính tổng các số lẻ từ 1 đến 100
public static void main(String[] args) {
• int tong = 0, i=1;
• do{
• tong+=i; i+=2;
• }while (i<=100);
• System.out.println(tong);
}
So sánh while/for và do-while
• while/for
Vòng lặp được kiểm tra
đầu tiên. Điều kiện được
kiểm tra trước khi các câu
lệnh trong phạm vi vòng
lặp được thực thi.
Vòng lặp không được
thực thi nếu điều kiện
không được thỏa mãn tại
điểm bắt đầu
• do-while
Vòng lặp được kiểm tra
sau. Điều kiện được kiểm
tra sau khi câu lệnh trong
phạm vi vòng lặp được
thực thi.
Vòng lặp được thực thi ít
nhất một lần thậm chí nếu
điều kiện không thỏa mãn
tại điểm bắt đầu
Lệnh lặp for
o Cú pháp:
for(;;tăng/giảm){
//Khối lệnh
}
Lệnh lặp for
// Chương trình tính tổng các số lẻ từ 1 đến 100
public class TestFor{
public static void main(String[] args){
int tong = 0;
for(int i=1; i<=100; i+=2)
tong+=i;
System.out.println(tong);
}
}
Lưu ý sử dụng vòng lặp
o While, do while, for tương đương nhau
o for:
Sử dụng khi biết trước số lần lặp.
Ví dụ: in ra một thông báo 100 lần.
o while:
Sử dụng khi không biết trước số lần lặp.
Ví dụ: đọc vào các số đến khi gặp số 0.
o do while:
Sử dụng thay lệnh WHILE khi thân vòng lặp được
thực hiện ít nhất 1 lần.
Cấu trúc lệnh nhảy
o Lệnh break: dùng để thoát khỏi cấu trúc switch, vòng
lặp while, do while, for trong cùng chứa nó.
o Lệnh continue: dùng để tiếp tục vòng lặp trong cùng
chứa nó (ngược với lệnh break).
o Nhãn (label): không giống như C/C++, Java không hỗ
trợ lệnh goto để nhảy đến 1 vị trí nào đó của chương
trình.
o Java dùng kết hợp nhãn (label) với từ khóa break và
continue để thay thế cho lệnh goto.
Cấu trúc lệnh nhảy
o Lệnh“label:” xác định vị trí của nhãn và xem như tên của
vòng lặp ngoài.
o Nếu đúng thì lệnh break label sẽ
thực hiện việc nhảy ra khỏi vòng lặp có nhãn là“label”.
o Ngược lại sẽ tiếp tục vòng lặp có nhãn “label”.
label:
for (){
for (){
if ()
break label;
else
continue label;
} }
Các file đính kèm theo tài liệu này:
- java_chuong_3_cau_truc_dieu_khien_0814.pdf