Các
phép toán số học
Java hỗ trợ năm phép toán số học
sau: + (cộng), - (trừ), * (nhân), / (chia), % (modulo – lấy phần dư của
phép chia). Các phép toán này chỉ áp dụng được cho các biến kiểu cơ bản
như int, long và không áp dụng được cho các kiểu tham chiếu.
Phép chia được thực hiện cho hai giá
trị kiểu nguyên sẽ cho kết quả là thương nguyên. Ví dụ biểu thức 4 /
3 cho kết quả bằng 1, còn 3 / 5 cho kết quả bằng 0.
Một số phép gán kèm theo biểu thức
xuất hiện nhiều lần trong một chương trình, vì vậy Java cho phép viết
các phép gán biểu thức đó một cách ngắn ngọn hơn, sử dụng các phép gán
phức hợp (+=, -=, *=, /=, %=, >>=, <<=, &=, ^=, |=).
Cách sử dụng phép gán phức hợp += như
sau: biến += biểu thức; tương đương biến = biến + biểu thức;
Ví dụ:
apples += 2; tương đương apples =
apples + 2;
Các phép gán phức hợp khác được sử
dụng tương tự.
Các
phép toán tăng/giảm
Java còn cung cấp các phép toán ++ (hay --)
để tăng (giảm) giá trị của biến lên một đơn vị. Ví dụ:
apples++ hay ++apple có tác dụng tăng
apples thêm 1 đơn vị
apples-- hay --apple có tác dụng giảm
apples đi 1 đơn vị
Khác biệt giữa việc viết phép
tăng/giảm ở trước biến (tăng/giảm trước) và viết phép tăng/giảm ở
sau biến (tăng/giảm sau) là thời điểm thực hiện phép tăng/giảm, thể
hiện ở giá trị của biểu thức. Phép tăng/giảm trước được thực hiện
trước khi biểu thức được tính giá trị, còn phép tăng/giảm sau được
thực hiện sau khi biểu thức được tính giá trị. Ví dụ, nếu apples vốn
có giá trị 1 thì các biểu thức ++apples hay apples++ đều có hiệu ứng là
apples được tăng từ 1 lên 2. Tuy nhiên, ++apples là biểu thức có giá trị
bằng 2 (tăng apples trước tính giá trị), trong khi apples++ là biểu thức
có giá trị bằng 1 (tăng apples sau khi tính giá trị biểu thức). Nếu ta
chỉ quan tâm đến hiệu ứng tăng hay giảm của các phép ++ hay -- thì việc
phép toán được đặt trước hay đặt sau không quan trọng. Đó cũng là cách
dùng phổ biến nhất của các phép toán này.
Các
phép toán so sánh
Các phép toán so sánh được sử dụng
để so sánh giá trị hai biểu thức. Các phép toán này cho kết quả kiểu
boolean bằng true nếu đúng và false nếu sai.
Ví dụ:
boolean enoughApples = (totalApples > 10);
Các phép toán so sánh trong Java được
liệt kê trong Bảng 2.1.
Cần lưu ý rằng mặc dù tất cả các
phép toán này đều dùng được cho các kiểu dữ liệu cơ bản, chỉ có == và
!= là dùng được cho kiểu tham chiếu. Tuy nhiên, hai phép toán này cũng
không có ý nghĩa so sánh giá trị của các đối tượng.
Bảng các phép toán so sánh
Bảng các phép toán logic
Các phép toán logic dành cho các toán
hạng là các biểu thức quan hệ hoặc các
giá trị boolean. Kết quả của biểu
thức logic là giá trị boolean.
Ví dụ:
boolean enoughApples = (apples > 3)
&& (apples < 10);
có kết quả là biến enoughApples nhận
giá trị là câu trả lời của câu hỏi "biến apples có giá trị lớn
hơn 3 và nhỏ hơn 10 hay không?".
Độ
ưu tiên của các phép toán
Mức độ ưu tiên của một số phép toán
thường gặp có thứ tự của chúng như sau: Các toán tử đơn, +, -, !, ++
và -- có độ ưu tiên cao nhất. Tiếp theo là các phép toán đôi *, / và %.
Cuối cùng là các phép toán đôi +, -. Cuối cùng là các phép toán so sánh <,
>, <=, >=. Ví dụ: 3 + 4 < 2 + 6 cho kết quả true.
Có thể dùng các cặp ngoặc ( ) để
định rõ thứ tự ưu tiên trong biểu thức. Ví dụ: 2 * (1 + 3) cho kết quả
bằng 8.
Đăng nhận xét