Sự khác biệt là gì giữa i ++ và ++ i trong vòng lặp (Java) ?

Nhiều bạn mới lập trình cũng như lập trình được một khoảng thời gian vẫn chưa phân biệt được sự khác nhau giữa i++ và ++i là gì? Ở bài này mình sẽ lấy ra một ví dụ đơn giản nhất để các bạn có thể nắm được sự khác nhau này.

Đầu tiên chúng ta sẽ đề cập đến sự giống nhau giữa i++ và ++i.

Cả hai đều làm tăng biến i lên một. Nó giống như nói i = i + 1.

Nhưng sự khác biệt ở đây là gì? Nếu bạn đang sử dụng nó trong một vòng lặp như thế này, thì chắc chắn bạn sẽ không nhìn thấy được sự   khác biệt vì nó hoàn toàn giống nhau:

for (int i = 0; i < 10; i++) {
	System.out.println(i);
}

for (int i = 0; i < 10; ++i) {
	System.out.println(i);
}

Và đây là kết quả khi chạy chương trình :

2017-01-05_162604

Cả hai đều cho ra kết quả hoàn toàn giống nhau!

Nếu bạn muốn biết sự khác biệt, nhìn vào ví dụ này:

int a = 0;
int b = a++; // b = 0; a = 1

a = 0;
b = ++a: // b = 1; a = 1

ytzo8

Như các bạn thấy rằng :

Khi chúng ta tham chiếu đến a++ thì giá trị của b sẽ bằng 0,nghĩa là  biến b sẽ lấy giá trị khi khởi tạo giá trị.

Khi chúng ta tham chiếu đến ++a thì giá trị của b sẽ bằng 1,nghĩa là  biến b sẽ lấy giá trị khi tăng lên 1.

Okkk!

Hy vọng bài này sẽ giúp ích cho các bạn khi mới lập trình!

Comment ở dưới bài viết nếu gặp khó khăn gì trong lập trình nhé,mình sẽ hỗ trợ.

 

 

x