Chương 3: Cấu trúc điều khiển. Chương này trình bày những nội dung chính: Điều khiển rẽ nhánh (Mệnh đề if-else, mệnh đề switch-case), vòng lặp - Loops (Vòng lặp while, vòng lặp do-while, vòng lặp for), cấu trúc lệnh nhảy.
Chương Cấu trúc điều khiển Chương 3: Cấu trúc điều khiển o Điều khiển rẽ nhánh: o Mệnh đề if-else Mệnh đề switch-case 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 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 đậ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() == ) System.out.println(“Hôm 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 đậu \n”); else System.out.println(“Kết 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() == ) System.out.println(“Hôm chủ nhật\n”); else System.out.println(“Hôm 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() == ) System.out.println(“Hôm chủ nhật\n”); else System.out.println(“Hôm chủ nhật\n" ); } Lỗi với lệnh if else o Thêm ; cuối mệnh đề if else o Lỗi khó tìm, khơng phải lỗi biên dịch hay lỗi chạy chương trình, lỗi logic Lệnh switch … case o Cấu trúc lệnh switch tương tự cặp lệnh if – else liên tếp 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 switch … case public static void main(String[] args) { public static void main(String[] args) { int gioitinh = 1; int gioitinh = 1; switch (gioitinh) { if (gioitinh == 0) case 0: System.out.println(“Bé trai”); else if System.out.println(“Bé trai”); break; System.out.println(“Bé gái”); else case 1: System.out.println(“Bé gái”); break; default: System.out.println(“Chưa xác định”); break; } } System.out.println(“Chưa xác định”); } So sánh lệnh if … else switch … case • if-else • swich-case Mỗi if có biểu thức luận lý bên để định Mỗi case liên quan trở lại với giá trị ban đầu giá trị sai Các biến biểu thức định giá trị biểu thức câu lệnh switch kiểu giá trị Chỉ khối lệnh thực thi Biểu thức phải định giá trị kiểu byte, short, char, int Nếu câu lệnh break bị bỏ qua có nhiều khối lệnh thực Lệnh lặp while o o Cú pháp Lưu ý: Không nên sử dụng giá trị kiểu float, double để kiểm tra đẳng thức vòng lặp Lệnh lặp while // Tính tổng số lẻ từ đến 100 public static void main(String[] args) { • • • • • } int tong = 0, i = 1; while (i