Wednesday, November 16, 2016

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

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


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:



Available link for download