Dấu ? – if else rút rọn trong java

Cấu trúc câu điều kiện if else đã quá quen thuộc với chúng ta. Thế nhưng đôi lúc chúng thấy ở đâu đó trong các dự án java xuất hiện dấu các dòng code chứa ? đi kèm dấu :, thật khá hoang mang phải không! Mình tin nếu các bạn đọc tầm 2p thôi là hiểu. Trong bài viết này chúng ta sẽ xem ?: là cái gì nhé!

Cấu trúc ?: trong java

Dấu ?: là cấu trúc điều kiện if else rút gọn trong java, chúng được dùng trong các trường hợp gán một giá trị cho biến dựa vào một điều kiện cụ thể. Khác với if else bên trong nên chứa các mã lệnh khác, thực thi nhiều công việc hơn là thực hiện gán giá trị.

value = Mệnh đề điều kiện ? giá trị true : giá trị false

Ví dụ 1: viết hàm lấy số int nhỏ nhất trong 2 số.

public int min (int a, int b) {
     return a < b ? a : b;
}

Nếu a < b: Lấy giá trị a.
Nếu a >= b: Lấy giá trị b.

Hàm min() trên nếu được viết với điều kiện if else bình thường 

public int min (int a, int b) {
         if (a < b) {
             return a;
         } else {
             return b;
         }
}

Như vậy với điều kiện đơn giản dùng để kiểm tra thì chúng ta nên sử dụng ?: để giúp code ngắn gọn và dễ đọc hơn. Nhìn các min() khi code thường xem, chán thật phải không các bạn!

Trong câu điều kiện nếu thực hiện các công việc khác ngoài việc gán dữ liệu thì if else nên được dùng trong trường hợp này. Ví dụ hàm min của min() mỗi lần gán trị trả về số nhỏ nhất trong 2 số thì mình còn muốn xuất ra màn hình thành chữ. 

public int min (int a, int b) {
         if (a < b) {
             System.out.println("A nho hon B");
             return a;
         } else {
             System.out.println("b nho hon hoac bang B");
             return b;
         }
}
5 1 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x