Các toán tử số học
1. Các toán tử cơ bản
Phần tiêu đề “1. Các toán tử cơ bản”| Toán tử | Ý nghĩa | Ví dụ |
|---|---|---|
+ |
Cộng | 5 + 2 → 7 |
- |
Trừ | 5 - 2 → 3 |
* |
Nhân | 5 * 2 → 10 |
/ |
Chia | 5 / 2 → 2 (chia số nguyên) |
% |
Chia lấy dư (modulo) | 5 % 2 → 1 |
int a = 10, b = 3;System.out.println(a + b); // 13System.out.println(a - b); // 7System.out.println(a * b); // 30System.out.println(a / b); // 3 (kết quả int, phần thập phân bị cắt bỏ)System.out.println(a % b); // 1 (số dư)⚠️ Chia hai số nguyên (int / int) cho ra kết quả int - phần thập phân bị cắt bỏ hoàn toàn, không làm tròn. Nếu cần kết quả thập phân, ít nhất một toán hạng phải là double/float (xem chi tiết ở bài “What the Java” về toán tử chia số nguyên).
System.out.println(7 / 2); // 3 (int / int)System.out.println(7 / 2.0); // 3.5 (int / double -> double)System.out.println((double) 7 / 2); // 3.5 (ép kiểu trước khi chia)2. Toán tử tăng giảm (++ / –)
Phần tiêu đề “2. Toán tử tăng giảm (++ / –)”int x = 5;x++; // Tương đương x = x + 1x--; // Tương đương x = x - 1Có hai dạng: tiền tố (prefix) và hậu tố (postfix), khác nhau khi dùng trong biểu thức:
int a = 5;int b = ++a; // Prefix: tăng a trước, RỒI mới gán -> a=6, b=6System.out.println(a + " " + b); // 6 6
int c = 5;int d = c++; // Postfix: gán giá trị CŨ của c trước, rồi mới tăng -> c=6, d=5System.out.println(c + " " + d); // 6 53. Toán tử gán kết hợp (compound assignment)
Phần tiêu đề “3. Toán tử gán kết hợp (compound assignment)”int n = 10;n += 5; // n = n + 5 -> 15n -= 3; // n = n - 3 -> 12n *= 2; // n = n * 2 -> 24n /= 4; // n = n / 4 -> 6n %= 4; // n = n % 4 -> 2Tổng kết
Phần tiêu đề “Tổng kết”- Các toán tử số học:
+,-,*,/,% - Chia hai số
intcho kết quảint, cắt bỏ phần thập phân - cần ép kiểudoublenếu muốn kết quả thập phân ++/--có dạng prefix (tăng trước, dùng sau) và postfix (dùng trước, tăng sau) - khác nhau khi dùng trong biểu thức- Toán tử gán kết hợp (
+=,-=,*=,/=,%=) giúp viết gọn hơn