Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

Topic 4

Toán tử và cấu trúc rẽ nhánh

1
Mục tiêu của bài

• Các toán tử (Operators)


• Những cấu trúc lập trình cơ bản (Dicision constructs)

2
Các toán tử (Operators)

• Các loại toán tử:


– Toán tử một ngôi (Unary operators)
– Toán tử số học (Arithmetic operators)
– Toán tử Bit (Bitwise operators)
– Toán tử quan hệ (Relational operators)
– Toán tử logic (Logical operators)
– Toán tử điều kiện (Conditional operators)
– Toán tử gán (Assignment operator)

3
Toán tử một ngôi (Unary operator)

• ++ Increment (Tăng)
• -- Decrement (Giảm)

• Ví dụ:
int i = 10;
i++; // i = 11
System.out.println(++i); //print out 11, i = 12

4
Toán tử số học (Arithmetic Operators)

• + Addition (Phép cộng)


• - Subtraction (Phép trừ)
• * Multiplication (Phép nhân)
• / Division (Phép chia)
• % Modulus (Chia lấy số dư)

5
Toán tử số học (Tiếp theo…)

• += Phép cộng và gán


• -= Phép trừ và gán
• *= Phép nhân và gán
• /= Phép chia và gán
• %= Phép chia lấy số dư và gán

6
Toán tử Bitwise (Bitwise Operators)

• ~ Phủ định bit (NOT)


• & Và bit (AND)
• | Hoặc bit (OR)
• ^ Exclusive bit OR
• >> Dịch phải (Shift right)
• << Dịch trái (Shift left)

7
Toán tử quan hệ (Relational Operators)

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

8
Toán tử Logic (Logical Operators )

• && Logic AND


• || Logic OR
• ! Logic NOT

9
Toán tử điều kiện (Conditional Operator)

• Cú pháp
Biểu thức 1 ? Biểu thức 2 : Biểu thức 3;

• Biểu thức 1
Là biểu thức điều kiện trả về giá trị True hoặc False
• Biểu thức 2
Là giá trị của biểu thức nếu kết quả của Biểu thức 1 là True
• Biểu thức 3
Là giá trị của biểu thức nếu kết quả của Biểu thức 1 là False

10
Toán tử gán (Assignment Operator)

• = Assignment (Phép gán)


• Giá trị có thể được gán cho nhiều biến số
• Ví dụ
a = b = c = d = 90;

11
Thứ tự ưu tiên của các toán tử

Thứ tự Toán tử
1. Các toán tử một ngôi như ++, --
2. Các toán tử số học và các toán tử dịch như
*, /, +, -, <<, >>
3. Các toán tử quan hệ như >, <, >=, <=, ==, !=
4. Các toán tử logic và Bit như &&, ||, &, |, ^
5. Các toán tử gán như =, *=, /=, +=, -=

 Thứ tự của các toán tử có thể được thay đổi bằng cách sử
dụng các dấu ngoặc đơn trong biểu thức

12
Ví dụ

• Consider the following expression:


2*3+4/2 > 3 && 3<5 || 10<9
• The evaluation is as shown:
(2*3+4/2) > 3 && 3<5 || 10<9
• First the arithmetic operators are evaluated.
((2*3)+(4/2)) > 3 && 3<5 || 10<9
• Division and Multiplication are evaluated before Addition and Subtraction
(6+2) > 3 && 3<5 || 10<9
(8 > 3) && [3<5] || [10<9]
• Next to be evaluated are the relational operators all of which have the same
precedence. These are therefore evaluated from left to right.
(True && True) || False
• The last to be evaluated are the logical operators. && takes precedence over
||
True || False
True
13
Các cấu trúc điều khiển

• Điều khiển rẻ nhánh:


– Lệnh if-else
– Lệnh switch-case

14
Lệnh if-else

• Cú pháp
if (condition)
{
action1 statements;
}
else
{
action2 statements;
}

15
Lệnh switch-case

• Cú pháp
switch (expression)
{
case 'value1': action1 statement(s);
break;
case 'value2': action2 statement(s);
break;
:
:
case 'valueN': actionN statement(s);
break;
default: default_action statement(s);
}
16
Tóm tắt

• Các loại toán tử:


– Một ngôi
– Số học (Arithmetic)
– Bitwise
– Quan hệ/So sánh (Relational)
– Logic (Logical)
– Điều kiện (Conditional)
– Gán (Assignment)
• Cấu trúc điều khiển:
– Lệnh if-else
– Lệnh switch-case

17

You might also like