Toán tử. Ví dụ về Toán tử trong JAVA | JAVA DEV

Toán tử là gì?

Toán tử (Operator) là các ký tự đặc biệt được quy ước để thực hiện một hành động nào đó trong lập trình. Trong Java có nhiều loại toán tử.

Ví dụ : +, -, *, /

Có nhiều loại toán tử trong Java như sau:

  • Toán tử Tăng / Giảm
  • Toán tử Toán học
  • Toán tử Dịch chuyển
  • Toán tử Quan hệ
  • Toán tử Bit
  • Toán tử Logic
  • Toán tử 3 Ngôi (Ternary)
  • Toán tử gán

Thứ tự ưu tiên các loại toán tử trong Java

Có rất nhiều loại toán tử trong Java cũng như những ngôn từ lập trình khác. Vậy nên, khi sử dụng chung cùng với nhau chúng cần phải tuân theo thứ tự ưu tiên nhất định .

Hãy xem ảnh sau để biết thứ tự ưu tiên của các loại toán tử trong Java:

Thứ tự ưu tiên các loại toán tử trong JavaThứ tự ưu tiên các loại toán tử trong Java

Ví dụ về các loại toán tử trong Java

Toán tử, Ví dụ về Toán tử trong JavaToán tử, Ví dụ về Toán tử trong Java

1. Toán tử đơn: ++, –, ~, !

class OperatorExample{  
  public static void main(String args[]){  
    int x=10;  
    System.out.println(x++);//10 (11)  
    System.out.println(++x);//12  
    System.out.println(x--);//12 (11)  
    System.out.println(--x);//10  
  }
}  

Kết quả nhận được là :

10
12
12
10

Một ví dụ khác giúp bạn hiểu rõ toán tử + + và — hơn

class OperatorExample{  
  public static void main(String args[]){  
    int a=10;  
    int b=10;  
    System.out.println(a++ + ++a);//10+12=22  
    System.out.println(b++ + b++);//10+11=21  
  }
}  

Kết quả :

22
21

Ví dụ tiếp theo về ~ và !

class OperatorExample{  
  public static void main(String args[]){  
    int a=10;  
    int b=-10;  
    boolean c=true;  
    boolean d=false;  
    System.out.println(~a);
    System.out.println(~b);
    System.out.println(!c); 
    System.out.println(!d); 
  }
}

Kết quả :

-11
9
false
true

2. Ví dụ về toán tử toán học trong Java

Ví dụ 1 :

class OperatorExample{  
  public static void main(String args[]){  
    int a=10;  
    int b=5;  
    System.out.println(a+b);//15  
    System.out.println(a-b);//5  
    System.out.println(a*b);//50  
    System.out.println(a/b);//2  
    System.out.println(a%b);//0  
  }
}  

Kết quả :

15
5
50
2
0

Ví dụ 2 :

class OperatorExample{  
  public static void main(String args[]){  
    System.out.println(10*10/5+3-1*4/2);  
  }
}

Kết quả :

21

3. Ví dụ về toán tử Dịch chuyển trong JAVA

Ví dụ về toán tử Dịch trái trong JAVA

Toán tử di dời trái trong Java được sử dụng để di dời toàn bộ những bit trong một giá trị sang bên trái của 1 số ít lần được chỉ định .

class OperatorExample{  
  public static void main(String args[]){  
    System.out.println(10<<2);//10*2^2=10*4=40  
    System.out.println(10<<3);//10*2^3=10*8=80  
    System.out.println(20<<2);//20*2^2=20*4=80  
    System.out.println(15<<4);//15*2^4=15*16=240  
  }
}  

Kết quả :

40
80
80
240

Ví dụ về toán tử Dịch phải trong JAVA

Ví dụ toán tử di dời trái : Toán tử di dời phải trong Java được sử dụng để di dời toàn bộ những bit trong một giá trị sang bên phải một số ít lần được chỉ định .

class OperatorExample{  
  public static void main(String args[]){  
    System.out.println(10>>2);//10/2^2=10/4=2  
    System.out.println(20>>2);//20/2^2=20/4=5  
    System.out.println(20>>3);//20/2^3=20/8=2  
  }
}

Kết quả :

2
5
2

So sánh toán tử >> và toán tử >>>

class OperatorExample{  
  public static void main(String args[]){  
    //Đối với số Dương, >> và >>> làm việc như nhau
    System.out.println(20>>2);  
    System.out.println(20>>>2);  
    //Đối với số Âm
    System.out.println(-20>>2);  
    System.out.println(-20>>>2);  
  }
}  

Kết quả :

5
5
-5
1073741819

Lý do của sự khác nhau này là toán tử >> bảo toàn bit dấu, trong khi đó toán tử >> > không bảo toàn bit dấu .
Nó cho hiệu quả là một số dương khi tất cả chúng ta vận dụng toán tử >> > trên 1 số ít âm. Và MSB ( bit tiên phong ) được thay thế sửa chữa bằng 0 .

4. So sánh toán tử Logic AND và toán tử Bit AND

class OperatorExample{  
  public static void main(String args[]){  
    int a=10;  
    int b=5;  
    int c=20;  
    System.out.println(a

Kết quả :

false
false

Một ví dụ khác:

class OperatorExample{  
  public static void main(String args[]){  
    int a=10;  
    int b=5;  
    int c=20;  
    System.out.println(a

Kết quả :

false
10
false
11

5. So sánh toán tử Logic OR và Toán tử Bit OR

Toán tử Logic OR | | không kiểm tra điều kiện kèm theo thứ hai nếu điều kiện kèm theo tiên phong là ĐÚNG .
Và nó sẽ kiểm tra điều kiện kèm theo thứ hai chỉ khi điều kiện kèm theo tiên phong là SAI .
Toán tử Bit OR | luôn kiểm tra cả hai điều kiện kèm theo mặc dầu điều kiện kèm theo tiên phong là ĐÚNG hay SAI .

class OperatorExample{  
  public static void main(String args[]){  
    int a=10;  
    int b=5;  
    int c=20;  
    System.out.println(a>b||ab|ab||a++b|a++

Kết quả :

true
true
true
10
true
11

6. Toán tử 3 ngôi trong Java

Toán tử 3 ngôi trong Java dùng để sửa chữa thay thế cho câu lệnh if – else. Xem ngay ví dụ bên dưới để hiểu cách sử dụng

class OperatorExample{  
  public static void main(String args[]){  
    int a=2;  
    int b=5;  
    int min=(a

Đoạn mã min = ( a < b ) ? a : b hoàn toàn có thể được diễn đạt như sau :

  • Nếu a nhỏ hơn b thì gán min = a
  • Ngược lại thì gán min = b

Kết quả :

2

Một ví dụ khác ,

class OperatorExample{  
  public static void main(String args[]){  
    int a=10;  
    int b=5;  
    int min=(a

Kết quả :

5

7. Ví dụ về toán tử gán trong Java

Toán tử gán khá là dễ nên mình nghĩ sẽ không cần phải nói nhiều, bạn xem ví dụ là hiểu .

class OperatorExample{  
  public static void main(String args[]){  
    int a=10;  
    int b=20;  
    a+=4;//a=a+4 (a=10+4)  
    b-=4;//b=b-4 (b=20-4)  
    System.out.println(a);  
    System.out.println(b);  
  }
}

Kết quả

14
16

Một ví dụ khác về toán tử gán trong Java

class OperatorExample{  
  public static void main(String[] args){  
    int a=10;  
    a+=3;//10+3  
    System.out.println(a);  
    a-=4;//13-4  
    System.out.println(a);  
    a*=2;//9*2  
    System.out.println(a);  
    a/=2;//18/2  
    System.out.println(a);  
  }
}

Kết quả :

13
9
18
9

Ví dụ về toán tử gán với kiểu short

class OperatorExample{  
  public static void main(String args[]){  
    short a=10;  
    short b=10;  
    //a+=b;//a=a+b có vẻ rất tốt
    a=a+b;//Biên dịch lại lỗi vì 10+10=20 là kiểu int  
    System.out.println(a);  
  }
}  

Kết quả :

Compile time error

Chính cho nên vì thế, tất cả chúng ta cần phải ép kiểu

class OperatorExample{  
  public static void main(String args[]){  
    short a=10;  
    short b=10;  
    a=(short)(a+b);//20 đã được ép kiểu thành short  
    System.out.println(a);  
  }
}  

Kết quả:

20

Lời kết

Như vậy là bạn đã biết về các Toán tử trong Java cũng như Thứ tự ưu tiên của các toán tử trong Java.

  • Tham khảo: Khóa học Java tốt nhất ở Hà Nội

Nếu có toán tử nào bạn chưa hiểu hay không rõ chúng được ưu tiên như thế nào thì hãy tự đặt ra những ví dụ và xem trình biên dịch trả lại hiệu quả gì nhé .

Chúc bạn Tự học Lập trình Java thật tốt.