14 June 2016

Bài 6: Cấu trúc Switch Case trong Java!

images ​
Cấu trúc Switch…Case:
java-switch 


Đơn giản, khi chúng ta cần xử lý các sự kiện liên quan tới nhiều trường hợp giá trị của biến, nếu dùng if - else nhiều thì code sẽ dài, lặp, không mạch lạc, nên chúng ta dùng cấu trúc Switch Case để thay thế! Nó không phải là cách tốt nhất nhưng là phù hợp với nhiều tình huống!

Trong Java, cấu trúc Switch Case được viết như sau: 
PHP:
switch (<biến>) {
case <
giátrị_1> :
  <
khối_lệnh_1>;
  break;
case <
giátrị_2>:
  <
khối_lệnh_2>;
  break;
.
case <
giátrị_n>:
  <
khối_lệnh_n>;
    break;
default:
    <
khốilệnhdefault>;
}
Và nó hoạt động như trong hình dưới:
How-Switch-Case-works-in-Java-Programming-language 
Ví dụ: Với yêu cầu sau: Viết chương trình, gán biến nguyên a là 1 giá trị bất kỳ. Nếu a = 1 thì in ra màn hình là "Chủ nhật", a = 2 thì in ra "Thứ Hai", ..... a = 7 thì in ra "Thứ Bảy". Nếu a không trong khoảng [1 ; 7] thì báo "Bạn đã gán sai giá trị, chỉ được gán số nguyên từ 1 tới 7". Chương trình sử dụng Switch Case sẽ được viết như sau:
PHP:
public class SwitchDemo {

    public static 
void main(String[] args) {
        
int a 3;

        switch (
a) {
            case 
1:
                
System.out.println("Chủ nhật");
                break;
            case 
2:
                
System.out.println("Thứ Hai");
                break;
            case 
3:
                
System.out.println("Thứ Ba");
                break;
            case 
4:
                
System.out.println("Thứ Tư");
                break;
            case 
5:
                
System.out.println("Thứ Năm");
                break;
            case 
6:
                
System.out.println("Thứ Sáu");
                break;
            case 
7:
                
System.out.println("Thứ Bảy");
                break;
            default:
                
System.out.println("Bạn đã gán sai giá trị, chỉ được gán số nguyên từ 1 tới 7");
                break;
        }
    }
}
Chú ý: 

- Kiểu dữ liệu của biến trong switch chỉ hỗ trợ kiểu dữ liệu: int, byte, short,char, từ JDK 7, hỗ trợ thêm kiểu String và các giá trị truyền vào trong mỗi case thì phải trùng kiểu dữ liệu với biến trong switch.
- Lệnh "break" trong cấu trúc này không phải là bắt buộc phải có thì chương trình mới chạy, bạn có thể không dùng "break" với trường hợp nhất định, nhưng khi đó, chương trình sẽ chạy hết các khối lệnh trong các "case" tiếp theo sau, kể từ khi chương trình tìm được "case" có giá trị truyền vào thỏa mãn, tới khi hết "case" hoặc gặp lệnh "break".

Bạn nên tham khảo 2 video của anh Việt bên Blog StudyAndShare để hiểu rõ hơn về cấu trúc này:


0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang