Toán tử (operators) và biểu thức (expressions)

Toán tử (operators) và biểu thức (expressions)

Toán tử (operator)

Toán tử là các thao tác để kết hợp các giá trị tạo ra một giá trị mới. Các giá trị được gọi là các toán hạng (operands). Ví dụ 2 + 3 = 5 thì 2, 3 được gọi là các toán hạng, + là toán tử (số học), và 5 là kết quả.

Toán tử trong Java gồm các loại sau:

Toán tử gán (assigment operator)

Dùng để gán một giá trị đến một biến. Giá trị này có thể là hằng (như 6 hay “hello”), giá trị của biến khác, kết quả của một biểu thức hay hàm.

Kí hiệu: =

Ví dụ: gán giá trị 6 cho biến x


int x = 6;

Toán tử số học (arithmetic operator)

Cho phép thực hiện các thao tác tính toán giữa các giá trị số. Gồm:

Toán tử số học
Chức năng

+
Cộng hai giá trị


Trừ hai giá trị

*
Nhân hai giá trị

/
Chia hai giá trị

%
Lấy dư từ phép chia

* Chú ý: trong Java nếu chúng ta chia hai số nguyên, ví dụ lấy 7 chia 3, thì kết quả sẽ là một số nguyên, ví dụ 7 chia 3 là 3. Điều này chúng ta cần chú ý vì sẽ không cho kết quả như mong đợi.

Độ ưu tiên của các toán tử trong biểu thức theo thứ tự giảm dần từ trên xuống như sau:

Độ ưu tiên

*, /, %

+, –

Java cho phép kết hợp toán tử số học và toán tử gán. Xem bảng dưới đây:

Toán tử
Ví dụ
Ý nghĩa

+=
x += 3
x = x + 3

-=
x -= 3
x = x – 3

*=
x *= 3
x = x * 3

/=
x /= 3
x = x / 3

%=
x %= 3
Lấy dư từ phép chia x cho 3

 Toán tử so sánh (comparison operator)

Cho phép so sánh hai giá trị, thường dùng trong các biểu thức điều kiện. Kết quả trả về là true hay false. Một số toán tử so sánh phổ biến:

Toán tử so sánh
Chức năng

==
Kiểm tra hai giá trị có bằng nhau không

!=
Kiểm tra hai giá trị khác nhau

<
Kiểm tra giá trị đầu có bé hơn giá trị sau không

>
Kiểm tra giá trị đầu có lớn hơn giá trị sau không

<=
Kiểm tra giá trị đầu có bé hơn hoặc bằng giá trị sau không

>=
Kiểm tra giá trị đầu có lớn hơn hoặc bằng giá trị sau không

Toán tử cộng chuỗi (concatention operator)

Trong Java, để kết hợp hai chuỗi (kiểu String) chúng ta dùng toán tử +. Có thể kết hợp với toán tử gán là += Ví dụ: khai báo các biến sau:


String firstString = "Hello";

String secondString = "World";

String result;

Kết hợp hai chuỗi trong biến firstString và secondString và lưu kết quả trong biến result có thể viết như sau:


result = firstString + secondString;

hoặc


result = firstString;

result = result + secondString;

hoặc


result = firstString;

result += secondString;

Chú ý: do toán tử + được dùng cho kết hợp hai chuỗi đồng thời cũng là một toán tử số học nên cần thận trọng khi dùng toán tử này khi có liên quan đến chuỗi, ví dụ:


System.out.print("4" + "3"); // kết quả là "43" thay vì 7

Toán tử luận lý (logical operator)

Trả về giá trị true hay false từ việc kết hợp nhiều biểu thức. Một số toán tử

Toán tử luận lý
Chức năng

&
Trả về True nếu tất cả các biểu thức đều trả về True

|
Trả về True nếu ít nhất một biểu thức trả về True

!
Trả về True nếu biểu thức là False và ngược lại

&&
Tương tự & nhưng sẽ không kiểm tra các biểu thức còn lại nếu biểu thức đầu tiên quyết định kết quả trả về.

||
Tương tự | nhưng sẽ không kiểm tra các biểu thức còn lại nếu biểu thức đầu tiên quyết định kết quả trả về.

Ví dụ:


int num1 = 3;

int num2 = 7;

num1 == 3 & num2 == 7   // true

num1 == 2 & num2 == 7  // false

num1 == 3 | num2 == 11  // true

!(num1 == 5)  // true

num1 == 2 && num2 == 7 //trả về false vì num1 khác 2 và không

//cần kiểm tra biểu thức num2 = 7

Biểu thức (expressions)

Biểu thức là một kết hợp giữa các toán hạng và các toán tử và có thể cho ra một kết quả nào đó. Biểu thức có thể đơn giản chỉ là một toán hạng nhưng cũng có thể rất phức tạp.

Ví dụ các biểu thức:

  • Biểu thức đơn giản có thể chỉ là một số 3
  • Biểu thức gồm toán hạng và toán tử: 3 + 2
  • Biểu thức phức tạp hơn: ((2 + 3)*5)/3

Trong quá trình tính toán một biểu thức cần chú ý:

  • Các toán tử có độ ưu tiên cao hơn sẽ được thực hiện trước
  • Biểu thức trong dấu ngoặc đơn thực hiện trước
  • Nếu trong một biểu thức xuất hiện các toán tử có cùng độ ưu tiên thì thực hiện tính toán từ trái sang phải. Ví dụ: (2 – 3 + 7) / 3 * 2 = 4
  • Toán tử gán thực hiện kết hợp từ phải sang trái. Ví dụ: x = y = z = 1; // 1 được gán cho biến z, biến y, và biến x

Tăng, giảm biến

Nếu muốn tăng giá trị biến count lên 1, chúng ta có thể dùng toán tử +:


count = count + 1;

Chúng ta cũng có thể dùng toán tử một ngôi (unary) (tức là toán tử chỉ có một toán hạng) ++ như sau:


count ++;

Tương tự, nếu muốn giảm 1 cho biến count, chúng ta có thể viết:


count = count -1;

hay


count --;

Toán tử một ngôi ++ hay – – tuỳ theo vị trí đặt trước (prefix) hay sau (postfix) sẽ cho ra những kết quả khác nhau, ví dụ:


int x;

x = 4;

System.out.print (x++);// kết quả hiển thị là 4 vì x được hiển thị

// trước khi tăng 1

x = 4;

System.out.print (++x); // kết quả hiển thị là 5 vì x hiển thị sau

// khi tăng 1

Ngôn ngữ Java >

Chia sẻ:

Thích bài này:

Thích

Đang tải…