Toán tử tăng và giảm trong Java | Laptrinhcanban.com

Toán tử tăng và giảm trong Java

Cùng tìm hiểu về toán tử tăng và giảm trong Java. Bạn sẽ biết khái niệm toán tử tăng và giảm trong Java là gì cũng như cách loại toán tử này trong Java sau bài học này.

Toán tử tăng và giảm trong Java là gì

Toán tử tăng và giảm trong Java thuộc loại toán tử đơn thức trong Java, trong đó toán tử tăng có tác dụng tăng 1 đơn vị, và toán tử giảm có tác dụng giảm 1 đơn vị từ toán hạng được chỉ định.

Cách viết và ý nghĩa của chúng được khái quát như sau:

Toán tửVí dụÝ nghĩa
++A++ hoặc ++ATăng A thêm 1 đơn vị
A– hoặc –AGiảm A xuống 1 đơn vị

Ví dụ cụ thể, chúng ta sử dụng toán tử tăng trong Java như sau:

int num = 5;
num++;

System.out.println(num); // 6

Các toán tử tăng và giảm thường hay được sử dụng rộng rãi, đặc biệt là trong các vòng lặp for trong Java. Ví dụ cụ thể:

class Main{
public static void main(String[] args){
for (int i = 1; i < 3; i++){
int a = i + 2;
System.out.println(a);
}
}
}
//3
//4

Lưu ý là toán tử tăng và giảm sẽ tăng hoặc giảm 1 đơn vị từ toán hạng hay đối tượng được chỉ định. Do vậy, chúng ta không thể sử dụng các toán tử này đối với các literal số trong Java.

Ví dụ, mã lệnh sau sẽ trả về lỗi khi compile:

int num;
num = 5++; //Lỗi compile

Vị trí các toán tử có thể đặt ở trước hoặc đằng sau đối tượng chỉ định. Trong phần lớn trường hợp thì hai cách đặt toán tử này có ý nghĩa giống nhau. Tuy nhiên cũng có một số trường hợp khác nhau mà Kiyoshi sẽ hướng dẫn trong phần dưới đây.

Vị trí toán tử tăng giảm và Sự Khác Biệt Giữa ++ i Và i ++

Chúng ta có thể đặt các toán tử tăng và giảm tại phía trước hoặc phía sau đối tượng. Ví dụ các cách viết sau đều đưa ra kết quả giống nhau:
Đặt toán tử phía sau:

int x = 5;

System.out.println(x++); //6

Đặt toán tử phía trước:

int x = 5;

System.out.println(++x); //6

Tuy nhiên, trong trường hợp sau đây thì kết quả của chúng lại hoàn toàn khác nhau.
Đặt toán tử phía sau:

int i = 5;
int k;

k = i++;
System.out.println(i); // 6
System.out.println(k); // 5

Đặt toán tử phía trước:

int i = 5;
int k;

k = ++i;
System.out.println(i); // 6
System.out.println(k); // 6

Để hiểu rõ Sự Khác Biệt Giữa ++ i Và i ++ và tại sao kết quả phép tính ở trên lại khác nhau thì chúng ta cần hiểu rõ ở đây:

  1. Nếu đặt toán tử phía sau đối tượng (i++) thì trước hết giá trị của i được gán vào k trước, rồi sau đó mới tăng 1 đơn vị cho i.
    Nói cách khác k = i++ chính bằng phép toán k = i; => i = i +1;.
  1. Ngược lại thì nếu đặt toán tử phía trước đối tượng (++i) thì trước hết giá trị của i được tăng 1 đơn vị, rồi sau đó mới được gán vào k.
    Nói cách khác k = ++i chính bằng phép toán i = i +1; => k = i;.

Do có việc tăng một đơn vị cho i hay không trước khi gán vào k, đã khiến cho kết quả của 2 phép toán trên trở nên khác nhau như vậy.

Lưu ý khi sử dụng các toán tử tăng và giảm trong các vòng lặp, do cuối cùng thì i++ hay ++i đều sẽ được thực hiện cuối cùng trong phép biến đổi biến đếm trong biểu thức thay đổi, nên kết quả của việc đặt trước hay sau toán tử cũng không ảnh hưởng tới kết quả chương trình, và chúng ta sử dụng cách viết nào cũng được cả, tùy theo thói quen của mỗi người mà thôi.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về toán tử tăng và giảm trong Java rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về Java trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.