Boolean khác gì bool

Cùng với kiểu dữ liệu nguyên thủy thì Java cũng đã được phát triển 1 lớp Boolean, nhằm hỗ trợ lập trình viên nhiều hơn.

Boolean khác biệt với hầu hết các kiểu dữ liệu khác vì nó chỉ cho phép 2 giá trị.

Vậy nên nó thường được sử dụng trong những trường hợp chỉ có 2 kết quả ĐÚNG hoặc SAI và đặc biệt thường sẽ được sử dụng làm điều kiện rẽ nhánh.

Để cho dễ hiểu thì mình sẽ liên hệ thực tế và cung cấp một ví dụ về kiểu dữ liệu boolean này.

Giả sử:

  • Bạn muốn lưu giá trị thời tiết vào một thời điểm nhất định
  • Tại thời điểm đó chỉ có 2 trường hợp có thể xảy ra đó là có mưa hoặc không có mưa.
  • Như vậy ta chỉ cần lưu 1 biến troiMua với kiểu boolean, với giá trị true là có mưa còn false là không có mưa.

Khái niệm về kiểu dữ liệu boolean trong Java thì chỉ có bấy nhiêu, khá là dễ hiểu đúng không nào?

Song song với kiểu dữ liệu nguyên thủy thì như hầu hết kiểu dữ liệu nguyên thủy khác, Java đã được phát triển một lớp Boolean với mục đích hỗ trợ nhiều hơn cho lập trình viên.

2. Cách sử dụng boolean trong Java


Lý thuyết xong rồi, giờ vào thực hành thôi, giờ chúng ta sẽ cùng nhau đi vào phần ví dụ code để hiểu hơn về kiểu dữ liệu này.

Bắt đầu với một ví dụ đơn giản xem tình trạng thời tiết hiện tại là mưa hay là không mưa.

   public static void main(String[] args) {

         System.out.println("Trời đang mưa");

         System.out.println("Trời không mưa");


Như bạn thấy, ở thời điểm ban đầu, vừa khai báo vài khởi tạo giá trị ban đầu của biến troiMua.

Trong đó, kiểu dữ liệu của biến troiMuaboolean, giá trị khởi tạo là true.

Tiếp đó, trong cấu trúc điều kiện if ... else, mình kiểm tra nếu biến troiMua mà đúng thì thông báo "Trời đang mưa".

Ngược lại thì thông báo "Trời không mưa".

Bạn cũng có thể làm thế này.

Nhưng điều đó không cần thiết.

Tiếp theo, chúng ta sẽ đến với một ví dụ về kiểu boolean hơi nâng cao hơn một chút.

Nhưng đây là bài toán bạn sẽ thường gặp khi bạn lập trình ứng dụng thực tế nào đó.

Giả sử chúng ta muốn lưu giới tính của một sinh viên (theo pháp luật Việt Nam hiện hành thì chỉ có 2 giới tính đó là nam hoặc nữ).

Ta sẽ có code cho lớp sinh viên như sau:

   public Student(String MSSV, String ten, boolean gioiTinh)

   // Các hàm get để lấy giá trị thuộc tính của đối tượng

   public boolean LayGioiTinh()

   // Các hàm set để thiết lập giá trị thuộc tính của đối tượng

   public void DatMSSV (String MSSV)

   public void DatTen (String ten)

   public void DatGioiTinh (boolean gioiTinh)


Sau đó ta sẽ sử dụng biến có kiểu dữ liệu boolean để xác định giới tính của đối tượng sinh viên.

Ở đây quy ước true là nữ còn false là nam (quy ước này tùy vào lập trình viên).


public static void main(String[] args)

   //Khai báo một đối tượng Student

   Student student = new Student("B1714757", "Tran Thanh Tam", false);

   if (student.LayGioiTinh())

      System.out.println("Sinh viên: " + student.LayTen() + ", giới tính: nữ");

      System.out.println("Sinh viên: " + student.LayTen() + ", giới tính: nam");


Chúng ta vừa hoàn thành một ví dụ đơn giản về kiểu dữ liệu boolean, khá là dễ hiểu đúng không nào?

> Note: Trong KHÓA HỌC JAVA tại NIIT - ICT Hà Nội, bạn cũng sẽ được giải thích thật chi tiết các khái niệm, kiểu dữ liệu. Đảm bảo hiểu cặn kẽ ngôn ngữ để tiến tới việc làm ứng dụng, làm web dễ dàng hơn.

Đừng quên, song song với kiểu dữ liệu nguyên thủy thì còn có một lớp false1 hỗ trợ chúng ta trong việc lập trình.

3. Giới thiệu class Boolean trong Java


Về tác dụng và mục đích sử dụng thì lớp Boolean tương tự như kiểu boolean, tuy nhiên thứ được tạo ra từ lớp Boolean là một đối tượng và như vậy thì chúng ta sẽ có những phương thức đi kèm.

Những phương thức này hỗ trợ rất nhiều cho lập trình viên khi cần sử dụng.

Tuy nhiên phải nói luôn đó là nếu các bạn không có nhu cầu sử dụng các phương thức nhiều thì vẫn nên sử dụng kiểu dữ liệu boolean vì tốc độ truy xuất nhanh hơn cũng như tài nguyên sử dụng thấp hơn.

Dưới đây mình xin liệt kê một số phương thức trong lớp Boolean và tác dụng của nó:

  • parseBoolean(String s): Phương thức này phân tích chuỗi dưới dạng boolean. Boolean được trả về đại diện cho giá trị true nếu chuỗi truyền vào không phải là false2, nếu chuỗi truyền vào ứng với “true” thì trả về true, nếu không thì trả về false.

  • booleanValue(): Phương thức này sẽ trả về giá trị của đối tượng Boolean dưới dạng kiểu boolean.

  • valueOf(boolean b): Phương thức này sẽ trả về giá trị của biến boolean được truyền vào (thực sự thì mình thấy cái này khá vô dụng, thay vì dùng hàm thì chỉ cần gọi thẳng biến đó là xong, tuy nhiên chắc chắn sẽ có trường hợp cần sử dụng, chỉ là mình chưa biết thôi).

  • valueOf(String s): Phương thức này có tác dụng khá giống hàm parseBoolean(String s), tuy nhiên với trường hợp chuỗi truyền vào là null thì nó sẽ trả về false luôn.

  • Và cùng với một số phương thức mặc định khác của lớp Object.

Và như vậy là chúng ta đã cùng nhau tìm hiểu xong về kiểu dữ liệu boolean trong Java cũng như giới thiệu sơ qua về lớp Boolean trong Java rồi.

Các bạn thấy chúng dễ sử dụng chứ?

Đừng quên luyện tập mỗi ngày một ít nhé. “Đi đi, chậm cũng được, miễn là đừng dừng lại”.

> Đợi chút! Có thể bạn đang khó khăn trong việc tìm kiếm tài liệu tự học Java bài bản, dễ hiểu bằng tiếng Việt? Nếu vậy thì thử ngay với Hướng dẫn Tự học Java này.

HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI

Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay!

Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội

SĐT: 02435574074 - 0383.180086

Email: [email protected]

Fanpage: https://facebook.com/NIIT.ICT/

#niit #icthanoi #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python