Toán tử trong java với ví dụ cụ thể

Java cung cấp một tập hợp các toán tử phong phú để thao tác với các biến. Chúng ta có thể chia các toán tử ra các loại chính như sau:

  • Toán tử số học
  • Toán tử quan hệ
  • Toán tử Bitwise
  • Toán tử Logic
  • Toán tử gán

Toán tử số học

Toán tử số học được dùng trong các biểu thức toán học.

Chúng ta có danh sách các toán tử số học

Ví dụ giả sử A = 10, B = 5

Toán tử Mô tả Ví dụ
+ Phép cộng C = A + B = 15
Phép trừ  C = A – B = 5
* Phép nhân C = A * B = 150
/ Phép chia lấy nguyên C = A / B = 2
Phép chia lấy dư C = A % B = 0
++ Tăng giá trị lên 1 A++ ta nhận được A là 21
Giảm giá trị đi 1 B– ta nhận được 4

 

public class Main {

    public static void main(String[] args) {

        int a = 10, b = 5;
        int c;

        c = a + b;
        System.out.println("Ket qua phep (+): " + c);

        c = a - b;
        System.out.println("Ket qua phep (-): " + c);

        c = a * b;
        System.out.println("Ket qua phep (*): " + c);

        c = a / b;
        System.out.println("Ket qua phep (/): " + c);

        c = a % b;
        System.out.println("Ket qua phep (%): " + c);

        a++;
        System.out.println("Ket qua phep (++): " + a);

        b--;
        System.out.println("Ket qua phep (--): " + b);
    }
}

Output:

Ket qua phep (+): 15
Ket qua phep (-): 5
Ket qua phep (*): 50
Ket qua phep (/): 2
Ket qua phep (%): 0
Ket qua phep (++): 11
Ket qua phep (–): 4

Toán tử quan hệ

Kết quả của toán tử quan hệ ta nhận được là boolean (true hoặc false).

Giả sử A = 10 và B = 5

Toán tử Mô tả Ví dụ
== So sánh bằng A == B => false
!= So sánh khác A != B => true
> So sánh lớn hơn A > B => true
< So sánh bé hơn  A < B => false
>= So sánh lớn hơn hoặc bằng A >= B => true
<= So sánh bé hơn hoặc bằng A <= B => true

 

public class Main {

    public static void main(String[] args) {

        int a = 10, b = 5;
        boolean c;

        c = a == b;
        System.out.println("Ket qua phep (==): " + c);

        c = a != b;
        System.out.println("Ket qua phep (-): " + c);

        c = a > b;
        System.out.println("Ket qua phep (*): " + c);

        c = a < b;
        System.out.println("Ket qua phep (/): " + c);

        c = a >= b;
        System.out.println("Ket qua phep (%): " + c);

        c = a <= b;
        System.out.println("Ket qua phep (++): " + c);

    }
}

Output:

Ket qua phep (==): false
Ket qua phep (-): true
Ket qua phep (*): true
Ket qua phep (/): false
Ket qua phep (%): true
Ket qua phep (++): false

Toán tử Bitwise

Toán tử Bitwise có thể áp dụng cho kiểu số nguyên integer, long, short, char, byte.

Giả sử A = 60, B = 13

Chuyển qua dạng nhị phân

A = 0011 1100 

B = 0000 1101

Toán tử Mô tả Ví dụ
& Bitwise and A & B = 0000 1100
| Bitwise or A || B = 0011 1101
^ Bitwise xor A ^ B = 0011 0001
~ Bitwise đảo bit ~A = 1100 0011
<< Left shift A << 2 = 1111 0000
>> Right shift A >> 2 = 1111
>>>  Righ shift fill zero A >> 2 = 0000 1111

Sử dụng hàm Integer.toBinaryString() để chuyển một số nguyên sang số dạng bit.

public class Main {

    public static void main(String[] args) {

        int a = 60, b = 13;
        int c;

        System.out.println("bit a: " + Integer.toBinaryString(a));

        System.out.println("bit b: " + Integer.toBinaryString(b));

        c = a & b;
        System.out.println("Ket qua phep (&): " + Integer.toBinaryString(c));

        c = a | b;
        System.out.println("Ket qua phep (|): " + Integer.toBinaryString(c));

        c = a ^ b;
        System.out.println("Ket qua phep (^): " + Integer.toBinaryString(c));

        c = ~a;
        System.out.println("Ket qua phep (~): " + Integer.toBinaryString(c));

        c = a << 2;
        System.out.println("Ket qua phep (<<): " + Integer.toBinaryString(c));

        c = a >>2;
        System.out.println("Ket qua phep (>>): " + Integer.toBinaryString(c));

        c = a >>>2;
        System.out.println("Ket qua phep (>>>): " + Integer.toBinaryString(c));
    }
}

Output: 

bit a: 111100
bit b: 1101
Ket qua phep (&): 1100
Ket qua phep (|): 111101
Ket qua phep (^): 110001
Ket qua phep (~): 11111111111111111111111111000011
Ket qua phep (<<): 11110000
Ket qua phep (>>): 1111
Ket qua phep (>>>): 1111

Toán tử logic

Giả sử A = true, B = false

Toán tử Mô tả Ví dụ
&& Toán tử and A && B = false
||  Toán tử or A || B = true
! Toán tử phủ định !(A && B) = true

 

public class Main {

    public static void main(String[] args) {

        boolean a = true, b = false;
        boolean c;

        c = a && b;
        System.out.println("Ket qua phep (&&): " + c);

        c = a || b;
        System.out.println("Ket qua phep (||): " + c);

        c = !(a && b);
        System.out.println("Ket qua phep (!): " + c);
    }
}

Output:

Ket qua phep (&&): false
Ket qua phep (||): true
Ket qua phep (!): true

Toán tử gán

Toán tử Mô tả Ví dụ
= Gán giá trị cho biến C = A + B
+= Tính tổng và gán lại giá trị cho biến nằm bên trái biểu thức A += B => A = A + B
-= Tính hiệu và gán lại giá trị cho biến nằm bên trái biểu thức A -= B => A – B
*= Tính tổng và gán lại giá trị cho biến nằm bên trái biểu thức A *= B => A = A * B
/= Tính thương lấy nguyên và gán lại giá trị cho biến nằm bên trái biểu thức  A /= B => A = A / B
%= Tính thương lấy dư và gán lại giá trị cho biến nằm bên trái biểu thức  A %= B => A = A % B
<<= Bitwise Left shift và gán lại giá trị cho biến nằm bên trái biểu thức  A <<=2 => A = A << 2
>>= Bitwise Right shift và gán lại giá trị cho biến nằm bên trái biểu thức  A >>=2 => A = A >> 2
&= Bitwise and và gán lại giá trị cho biến nằm bên trái biểu thức   A &= 2 => A = A  & 2
^= Bitwise Xor và gán lại giá trị cho biến nằm bên trái biểu thức   A ^=2 => A = A ^ 2
|= Bitwise Or và gán lại giá trị cho biến nằm bên trái biểu thức   A |= 2 => A = A |> 2

 

public class Main {

    public static void main(String[] args) {

        int a = 10, b = 5;
        int c;

        c = a + b;
        System.out.println("Ket qua phep (=): " + c);

        a = 10; a += b;
        System.out.println("Ket qua phep (+=): " + a);

        a = 10; a -= b;
        System.out.println("Ket qua phep (-=): " + a);

        a = 10; a *= b;
        System.out.println("Ket qua phep (*=): " + a);

        a = 10; a /= b;
        System.out.println("Ket qua phep (/=): " + a);

        a = 10; a %= b;
        System.out.println("Ket qua phep (%=): " + a);

        a = 10; a <<= 2;
        System.out.println("Ket qua phep (<<=): " + a);

        a = 10; a >>= 2;
        System.out.println("Ket qua phep (>>=): " + a);

        a = 10; a >>>= 2;
        System.out.println("Ket qua phep (>>>=): " + a);

        a = 10; a &= b;
        System.out.println("Ket qua phep (&=): " + a);

        a = 10; a ^= b;
        System.out.println("Ket qua phep (^=): " + a);

        a = 10; a |= b;
        System.out.println("Ket qua phep (|=): " + a);
    }
}

Output: 

Ket qua phep (=): 15
Ket qua phep (+=): 15
Ket qua phep (-=): 5
Ket qua phep (*=): 50
Ket qua phep (/=): 2
Ket qua phep (%=): 0
Ket qua phep (<<=): 40
Ket qua phep (>>=): 2
Ket qua phep (>>>=): 2
Ket qua phep (&=): 0
Ket qua phep (^=): 15
Ket qua phep (|=): 15

Bài tập thực hành

Để làm được loạt bài này, mình xin gợi ý đoạn mã đọc 2 số a,b từ bàn phím:

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int a = scanner.nextInt();
        int b = scanner.nextInt();
    }
}

Các bạn thêm code vào sau đoạn mã trên để hoàn thành các bài tập này nha:

1. Viết chương trình nhập vào 2 số nguyên a và b từ bàn phím, hãy in ra màn hình console:

  1.  Tổng của 2 số a, b.
  2. Hiệu của 2 số a, b.
  3. Tích 2 số a, b
  4. a chia lấy dư cho b
  5. a chia lấy nguyên cho b

2. Viết chương trình nhập vào 2 số nguyên từ bàn phím, kiểm tra và xuất ra màn hình kết qủa của các phép so sánh:

  1. a bằng b
  2. a khác b
  3. a lớn hơn b
  4. a bé hơn b
  5. a lớn hơn hoặc bằng b
  6. a bé hơn hoặc bằng b

3. Viết chương trình nhập số nguyên a, b từ bàn phím. Kiểm tra và xuất ra màn hình kết quả của các phép so sánh.

  1. a > 5 và b < 0
  2. a <= b và b < 10
  3. a < 10 hoặc b > 5

Bài tham khảo

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int a = scanner.nextInt();
        int b = scanner.nextInt();

        /*
            B1: Viết chương trình nhập vào 2 số nguyên a và b từ bàn phím, hãy in ra màn hình console:

            1. Tổng của 2 số a, b.
            2. Hiệu của 2 số a, b.
            3. Tích 2 số a, b
            4. a chia lấy dư cho b
            5. a chia lấy nguyên cho b
        */

        System.out.println("a + b: " + (a + b));
        System.out.println("a - b: " + (a - b));
        System.out.println("a * b: " + (a * b));
        System.out.println("a % b: " + (a % b));
        System.out.println("a / b: " + (a / b));


        /*

        2. Viết chương trình nhập vào 2 số nguyên từ bàn phím, kiểm tra và xuất ra màn hình kết qủa của các phép so sánh:

            1. a bằng b
            2. a khác b
            3. a lớn hơn b
            4. a bé hơn b
            5. a lớn hơn hoặc bằng b
            6. a bé hơn hoặc bằng b
         */

        System.out.println("a == b: " + (a == b));
        System.out.println("a != b: " + (a != b));
        System.out.println("a > b: " + (a > b));
        System.out.println("a < b: " + (a < b));
        System.out.println("a >= b: " + (a >= b));
        System.out.println("a <= b: " + (a <= b));


        /*

        3. Viết chương trình nhập số nguyên a, b từ bàn phím. Kiểm tra và xuất ra màn hình kết quả của các phép so sánh.

            1. a > 5 và b < 0
            2. a <= b và b < 10
            3. a < 10 hoặc b > 5
         */

        System.out.println("a > 5 va b < 0: " + ((a > 5) && (b < 0)));
        System.out.println("a <= b va b < 10: " + ((a <= b) && (b < 10)));
        System.out.println("a > 5 hoac b < 0: " + ((a > 5) || (b < 0)));
    }
}
5 2 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x