STDIO
Tìm kiếm gần đây
    • 0

    Cấu Trúc Điều Khiển Trong Java - Phần 1: Cấu Trúc Rẽ Nhánh

    Hướng dẫn cấu trúc rẽ nhánh if-else và switch-case trong Java.
    21/05/2015
    23/09/2020
    4 phút đọc
    Cấu Trúc Điều Khiển Trong Java - Phần 1: Cấu Trúc Rẽ Nhánh

    Cấu trúc rẽ nhánh if, if-else

    Cấu trúc rẽ nhánh cơ bản if

    Cú pháp

    if(conditional) {
        statement1;
        statement2;
    }
    

    Mô tả thực thi

    if else trong Java.
    • Nếu conditional trả về true, thực thi khối statement1 và statement2.
    • Nếu conditional trả về false thì bỏ qua khối này.

    Cấu trúc rẽ nhánh mở rộng if-else

    Cú pháp

    if(conditional) {
        statement1;
        statement2;
    }
    else {
        statement3;
        statement4;
    }
    

    Mô tả thực thi

    if else trong Java.

    Nếu conditional trả về true, thực thi khối statement1statement2.

    Nếu conditional trả về false, thực thi khối statement3statement4.

    Ví dụ

    int x = 3;
    if(x > 2) {
        System.out.println("X > 2");
    }
    else {
        System.out.println("X <= 2");
    }
    

    Ngoài ra, ngôn ngữ lập trình Java hỗ trợ cấu trúc dạng mở rộng hơn, gồm nhiều cấu trúc if-else lồng nhau dạng như sau:

    if(conditional) {
        statement1;
    }
    else {
        if(conditional2) {
            statement2;
        }
        else {
            statement3;
        }
    }
    
    • Nếu conditional trả về true, thực thi statement1.
    • Nếu conditional trả về false, xét tiếp khối else như sau:
      • Nếu conditional2 trả về true,thực thi statement2.
      • Nếu conditional2 trả về false, thực thi statement3.

    Các cấu trúc rẽ nhánh dạng cao hơn (nhiều if-else lồng nhau) cũng được thực thi tương tự.

    Cấu trúc rẽ nhánh switch-case

    Quan điểm sử dụng

    Cần xét các tháng trong 1 năm, sẽ cần nhiều cấu trúc rẽ nhánh dạng if, if-else hoặc các dạng mở rộng hơn để xét 12 tháng, như vậy tổ chức sẽ có thể rối, Java hỗ trợ thêm cấu trúc switch-case cho các trường hợp lựa chọn với những điều kiện giống nhau này để cách tổ chức code gọn gàng hơn.

    Cấu trúc switch-case

    Cú pháp

    switch(expression) {
        case (value1):
            statement1;
            break;
        case (value2):
            statement2;
            break;
        default:
            statement4;
            break;
    }
    

    Mô tả thực thi

    Cấu trúc switch case trong Java.

     

    • Bước 1: Tính toán biểu thức (expression).
    • Bước 2: So sánh từng trường hợp (case) theo thứ tự từ trên xuống, với kết quả của expression đã tính toán ở bước 1.
      • Nếu 1 trong các case thỏa mãn (bằng) với expression, thì thực thi khối mã xử lý trong case đó. Sau đó đến bước 3.
      • Nếu không, thực thi khối default.
    • Bước 3: Sau khi thực hiện khối, có thể 1 trong các khối case hoặc default (tùy theo giá trị của expression), sẽ thực hiện break, nghĩa l thoát khỏi khối switch-case.

    Lưu ý

    Có thể có nhiều hơn 2 case, trong phần cú pháp và mô tả thực thi chỉ thực hiện với 2 case ngắn gọn. Trong cú pháp của switch-case, có thể không viết phần default. Sau khi kiểm tra nếu không có case nào thỏa mãn, chương trình sẽ tự động thoát ra khỏi khối lệnh switch-case.

    Ví dụ so sánh if-else và switch-case

    Sử dụng cấu trúc dạng if-else
    int month = 2;
    if(month == 1)                 System.out.println("January");
    if(month == 2)                 System.out.println("February");
    if(month == 3)                 System.out.println("March");
    if(month == 4)                 System.out.println("April");
    if(month == 5)                 System.out.println("May");
    if(month == 6)                 System.out.println("June");
    if(month == 7)                 System.out.println("July");
    if(month == 8)                 System.out.println("August");
    if(month == 9)                 System.out.println("September");
    if(month == 10)                System.out.println("October");
    if(month == 11)                System.out.println("November");
    if(month == 12)                System.out.println("December");
    if(month < 1 || month > 12)    System.out.println("Error");
    
    Sử dụng cấu trúc dạng switch-case
    int month = 2;
    switch(month) {
    case 1:
    	System.out.println("January");	break;
    case 2:
    	System.out.println("February");	break;
    case 3:
    	System.out.println("March");	break;
    case 4:
    	System.out.println("April");	break;
    case 5:
    	System.out.println("May");	break;
    case 6:
    	System.out.println("June");	break;
    case 7:	
    	System.out.println("July");	break;
    case 8:
    	System.out.println("August");	break;
    case 9:
    	System.out.println("September");break;
    case 10:
    	System.out.println("October");	break;
    case 11:
    	System.out.println("November");	break;
    case 12:
    	System.out.println("December"); break;
    default:
    	System.out.println("Error"); 	break;
    }
    

    Trong mỗi case, khi đoạn mã thực thi, phải thêm vào mã xử lý break, tránh trường hợp chương trình tiếp tục thực thi các case không mong muốn bên dưới.

    Sử dụng switch-case có thể không làm mã nguồn trở nên ngắn hơn, nhưng nó giúp cho mã nguồn rõ ràng, dễ hiểu hơn, đôi khi cải thiện hiệu suất hoạt động của chương trình.

    Java

    Java

    Tổng hợp các bài viết Java hữu ích

    Sản phẩm

    Đề xuất

    Cấu Trúc Rẽ Nhánh Trong PHP

    Cấu Trúc Rẽ Nhánh Trong PHP

    Tìm hiểu về các cấu trúc điều kiện, rẽ nhánh trong PHP.

    PHPCheat Sheet

    03/11/2016

    Cấu Trúc Rẽ Nhánh If ... Else Trong Ngôn Ngữ C++

    Cấu Trúc Rẽ Nhánh If ... Else Trong Ngôn Ngữ C++

    Tìm hiểu về cấu trúc rẽ nhánh if ... else trong C++.

    Modern C++C++98

    15/06/2015

    Khám phá thêm

    Cấu Trúc Rẽ Nhánh trong Python

    Cấu Trúc Rẽ Nhánh trong Python

    Tìm hiểu về cấu trúc rẽ nhánh if...else trong Python

    PythonCheat sheet

    19/03/2015

    Cấu Trúc Lựa Chọn If trong JavaScript

    Cấu Trúc Lựa Chọn If trong JavaScript

    Tìm hiểu và sử dụng các cú pháp cấu trúc lựa chọn bao gồm if, if else và ...

    JavaScriptJavaScript Cơ Bản

    21/10/2014

    Biến và Kiểu Dữ Liệu Cơ Bản trong Java

    Biến và Kiểu Dữ Liệu Cơ Bản trong Java

    Giới thiệu khái niệm, phạm vi hoạt động của biến và các kiểu dữ liệu ...

    JavaCơ Bản

    11/05/2015

    Lập Trình Multithreading trong Ngôn Ngữ Lập Trình Java

    Lập Trình Multithreading trong Ngôn Ngữ Lập Trình Java

    Trong chương trình của chúng ta đôi khi ta cần thực thi nhiều tác vụ ...

    JavaNâng Cao

    19/11/2015

    Tổng Quan về Ngôn Ngữ Lập Trình Java

    Tổng Quan về Ngôn Ngữ Lập Trình Java

    Java là 1 trong những ngôn ngữ lập trình mạnh mẽ, được sử dụng rộng rãi ...

    JavaKiến Thức

    20/05/2015

    Học SEO Trong 1 Ngày - Phần 4 (Hết)

    Học SEO Trong 1 Ngày - Phần 4 (Hết)

    SEO nâng cao với cấu trúc web, các vấn đề về robots.txt, nofollow, liên ...

    STDIO SolutionsSEO

    11/07/2020

    CBP-8: Component Điều Khiển và AI – Component Ra Lệnh

    CBP-8: Component Điều Khiển và AI – Component Ra Lệnh

    Component ra lệnh - các Component có khả năng gửi Entity Command cho ...

    Lập Trình GameKiến Thức Nâng Cao

    21/08/2015

    Cấu Trúc Rẽ Nhánh Switch ... Case trong Ngôn Ngữ C++

    Cấu Trúc Rẽ Nhánh Switch ... Case trong Ngôn Ngữ C++

    Cơ bản về cơ chế và lập trình với switch ... case trong C/C++.

    Modern C++C++98

    13/06/2015

    STDIO
    Trang chính
    Công ty TNHH STDIO

    30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
    +84 28.36205514 - +84 942.111912
    developer@stdio.vn

    383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
    Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012

    ©STDIO, 2013 - 2020