Toán Tử Trong Java: Hướng Dẫn Tính Toán Và So Sánh Chi Tiết

Trong các bài viết trước, chúng ta đã tìm hiểu về biến và các kiểu dữ liệu dùng để lưu trữ thông tin. Tuy nhiên, để một chương trình Java thực sự hoạt động, máy tính cần phải biết cách xử lý, tính toán và so sánh những dữ liệu đó. Đó chính là lúc chúng ta cần sử dụng đến Toán tử (Operators).

Toán tử trong Java bao gồm toán tử số học, so sánh, logic và toán tử gán
Ảnh minh họa: Toán tử số trong Java

Bài viết này sẽ giúp bạn làm quen và làm chủ 4 nhóm toán tử cơ bản nhất trong Java, đi kèm ví dụ thực tế cực kỳ dễ hiểu.

1. Toán Tử Số Học (Arithmetic Operators)

Các toán tử số học giúp bạn thực hiện các phép tính toán cơ bản giống như trong toán học thông thường:

  • + (Cộng): Cộng hai giá trị.
  • - (Trừ): Trừ giá trị này cho giá trị khác.
  • * (Nhân): Nhân hai giá trị.
  • / (Chia): Chia lấy phần nguyên (nếu hai số đều là số nguyên) hoặc chia lấy giá trị thập phân (nếu có số thực).
  • % (Chia lấy dư / Modulo): Trả về phần dư của phép chia.

Ví dụ minh họa phép chia lấy dư (%): Khi bạn chia 10 cho 3, thương là 3 và dư 1. Vậy 10 % 3 sẽ trả về kết quả là 1.

public class ArithmeticExample {
public static void main(String[] args) {
int a = 10;
int b = 3;

System.out.println("Tổng: " + (a + b)); // Kết quả: 13
System.out.println("Thương: " + (a / b)); // Kết quả: 3 (chia số nguyên)
System.out.println("Phần dư: " + (a % b)); // Kết quả: 1
}
}

2. Toán Tử Gán Và Toán Tử Gán Phức Hợp (Assignment Operators)

Toán tử gán cơ bản nhất là dấu bằng =. Nó được dùng để gán giá trị ở vế phải cho biến ở vế trái.

Bên cạnh đó, Java cung cấp các toán tử gán phức hợp để rút gọn cú pháp khi bạn muốn thực hiện tính toán và gán lại ngay vào biến đó:

  • +=: Ví dụ x += y tương đương x = x + y.
  • -=: Ví dụ x -= y tương đương x = x - y.
  • *=: Ví dụ x *= y tương đương x = x * y.
  • /=: Ví dụ x /= y tương đương x = x / y.
  • %=: Ví dụ x %= y tương đương x = x % y.
int score = 10;
score += 5; // score bây giờ là 15 (tương đương score = score + 5)

3. Toán Tử So Sánh (Relational Operators)

Toán tử so sánh được dùng để đối chiếu hai giá trị với nhau. Kết quả của phép so sánh luôn trả về một giá trị thuộc kiểu boolean (chỉ có thể là true hoặc false).

  • ==: So sánh bằng.
  • !=: So sánh không bằng (khác).
  • >: Lớn hơn.
  • <: Nhỏ hơn.
  • >=: Lớn hơn hoặc bằng.
  • <=: Nhỏ hơn hoặc bằng.

Lưu ý quan trọng cho người mới: Dấu = là phép gán (đưa giá trị vào biến), còn == mới là phép so sánh xem hai giá trị có bằng nhau không. Rất nhiều bạn mới học hay nhầm lẫn giữa hai dấu này!

int age = 18;
boolean isAdult = age >= 18; // Kết quả: true
System.out.println("Có đủ tuổi không? " + isAdult);

4. Toán Tử Logic (Logical Operators)

Toán tử logic giúp bạn kết hợp nhiều điều kiện so sánh lại với nhau:

  • && (AND - VÀ): Trả về true chỉ khi tất cả các điều kiện đều đúng.
  • || (OR - HOẶC): Trả về true khi có ít nhất một điều kiện đúng.
  • ! (NOT - PHỦ ĐỊNH): Đảo ngược trạng thái logic (chuyển true thành false và ngược lại).
boolean hasTicket = true;
boolean isMember = false;

// Bạn được vào cửa nếu có vé VÀ là thành viên
boolean canEnter = hasTicket && isMember; // Kết quả: false

// Bạn được giảm giá nếu có vé HOẶC là thành viên
boolean getDiscount = hasTicket || isMember; // Kết quả: true

5. Toán Tử Đơn Ngôi: Phân Biệt Tiền Tố Và Hậu Tố (++ / --)

Toán tử tăng ++ (tăng giá trị lên 1) và giảm -- (giảm giá trị đi 1) rất hay được dùng trong lập trình. Tuy nhiên, vị trí đặt toán tử sẽ quyết định thứ tự thực thi:

  • Tiền tố (Prefix - ví dụ ++x): Tăng giá trị của x lên 1 trước, sau đó mới lấy giá trị mới đi tính toán.
  • Hậu tố (Postfix - ví dụ x++): Sử dụng giá trị hiện tại của x để tính toán trước, rồi mới tăng x lên 1.
public class IncrementExample {
public static void main(String[] args) {
int a = 5;
int b = a++; // b nhận giá trị 5, sau đó a mới tăng lên 6
System.out.println("a: " + a + ", b: " + b); // In ra: a: 6, b: 5

int x = 5;
int y = ++x; // x tăng lên 6 trước, sau đó y nhận giá trị 6
System.out.println("x: " + x + ", y: " + y); // In ra: x: 6, y: 6
}
}

Lời Kết

Các toán tử là nền tảng giúp bạn thực hiện tính toán và xử lý dữ liệu trong Java. Việc nắm vững cách hoạt động của toán tử số học, toán tử so sánh, logic và đặc biệt là sự khác biệt giữa tiền tố/hậu tố của ++/-- sẽ giúp bạn tránh được những lỗi logic rất phổ biến khi mới tập viết code.


Nguồn tham khảo


📚 Chuỗi bài: Lộ Trình Tự Học Java Từ Con Số 0 Đến Ứng Dụng Thực Tế

Chuỗi 20 bài viết thiết kế dạng 'cầm tay chỉ việc' dành riêng cho người mới bắt đầu học lập trình Java. Lộ trình đi từ tư duy nền tảng, cú pháp cơ bản, lập trình hướng đối tượng (OOP) cho đến hoàn thiện một dự án thực tế nhỏ.

  1. 1. Java Là Giống Gì? Cài Đặt Environment (JDK & IntelliJ IDEA) Cực Nhanh
  2. 2. Giải Mã Chương Trình 'Hello World' Và Cấu Trúc Cơ Bản Của Bài Code Java
  3. 3. Biến Và Kiểu Dữ Liệu Trong Java: Cách Lưu Trữ Thông Tin Đúng Chuẩn
  4. 4. Toán Tử Trong Java: Hướng Dẫn Tính Toán Và So Sánh Chi Tiết ← Bạn đang đọc
  5. 5. Nhập Xuất Dữ Liệu Với Scanner: Làm Cho Chương Trình Biết Tương Tác
  6. 6. Cấu Trúc Điều Kiện If-Else Và Switch-Case: Dạy Máy Tính Rẽ Nhánh Tư Duy
  7. 7. Vòng Lặp For, While Và Do-While Trong Java: Tự Động Hóa Công Việc Lặp Lại
  8. 8. Phương Thức (Method) Trong Java: Tái Sử Dụng Code Một Cách Thông Minh
  9. 9. Mảng Một Chiều (Array) Trong Java: Quản Lý Danh Sách Dữ Liệu Đơn Giản
  10. 10. Bài 10: Xử Lý Chuỗi Dữ Liệu Với String Và StringBuilder Trong Java
  11. 11. Lập Trình Hướng Đối Tượng (OOP): Lớp (Class) Và Đối Tượng (Object) Là Đâu?
  12. 12. Tính Đóng Gói (Encapsulation) Và Access Modifiers: Bảo Vệ Dữ Liệu Safe 100%
  13. 13. Tính Kế Thừa (Inheritance): Tái Sử Dụng Mã Nguồn Với Từ Khóa Extends
  14. 14. Tính Đa Hình (Polymorphism): Nạp Chồng (Overloading) Và Ghi Đè (Overriding)
  15. 15. Lộ Trình Tự Học Java: Tính Trừu Tượng (Abstraction) - Abstract Class Hay Interface?
  16. 16. Xử Lý Ngoại Lệ (Exception Handling): Giúp Chương Trình Không Bị 'Sập' Đột Ngột
  17. 17. Java Collections Framework: Làm Quen Mảng Cố Định Với ArrayList
  18. 18. Lưu Trữ Cặp Dữ Liệu Key-Value Cực Kỳ Nhanh Với HashMap
  19. 19. Đọc Và Ghi File Trong Java: Lưu Trữ Dữ Liệu Lâu Dài Vào Ổ Cứng
  20. 20. Dự Án Thực Tế: Xây Dựng Ứng Dụng Quản Lý Sinh Viên Console Hoàn Chỉnh

← Bài trước: Biến Và Kiểu Dữ Liệu Trong Java: Cách Lưu Trữ Thông Tin Đúng Chuẩn Bài tiếp theo: Nhập Xuất Dữ Liệu Với Scanner: Làm Cho Chương Trình Biết Tương Tác →

Nhận xét