Apakah Perbedaan dari i++ dengan ++i?
Dalam materi-materi perluangan simbol ++
sering kita temukan.
Simbol tersebut termasuk dalam operator aritmatika dan penugasan untuk meningkatkan
atau menambah satu (+1
) sebuah variabel.
Kadang ditulis seperti ini i++
dan juga seperti ini ++i
.
Apa sih perbedaanya?
Post-increment dan Pre-increment
Penulisan simbol ++
di dibelakang vairbel disebut dengan post-incement,
sedangkan bila ditulis di depan, disebut dengan pre-increment.
Contoh:
Post-increment:
for(int i = 1; i <= 10; i++){
System.out.print(i);
}
Pre-increment:
for(int i = 1; i <= 10; ++i){
System.out.print(i);
}
Kedua perulangan tersebut akan menghasilkan bilangan dari 1
sampai 10
.
12345678910
Keduanya menghasilkan output yang sama, lalu letak perbedaanya di mana?
Perbedaan i++
dengan ++i
Simbol ++
sebenarnya bentuk singkatan dari sebuah ekspersi:
i++
merupakan singkatan darii += 1
ataui = i + 1
.++i
merupakan singkatan darii += 1
ataui = 1 + i
.
Biar lebih jelas, mari kita ganti i
menjadi gelas
.
Perhatikan kode berikut
int gelas = 0;
gelas = 5;
gelas++;
Sistem.out.println(gelas);
Berapa nilai gelas
?
Jawabannya 6
, karena nilai gelas sebelumnya akan ditambah satu.
gelas = 5;
gelas = gelas + 1;
Paham?
Lalu apa bedanya ++gelas
dengan gelas++
?
Perbedaan i++
dan ++i
dapat kita lihat saat digunakan pada sebuah ekspresi.
Misalkan, selain variabel i
, kita punya variabel a
.
Kemudian variabel a
kita isi dengan i++
atau ++i
.
Perhatikan contoh berikut:
Post-Increment
int a;
int i = 1;
a = i++;
System.out.println("a = " + a);
System.out.println("i = " + i);
Hasil output:
a = 1
i = 2
Pre-Increment
int a;
int i = 1;
a = ++i;
System.out.println("a = " + a);
System.out.println("i = " + i);
Hasil output:
a = 2
i = 2
Kenapa bisa begitu?
Mari kita jabarkan:
- post-increment:
a = i++
itu sama sepertia = i; i = i + 1;
. - pre-increment:
a = ++i
itu sama sepertii = 1 + i; a = i;
.
Pada post-increment, variabel a
akan mengambil nilai i
lalu variabel i
ditambah 1
.
Sedangkan pada pre-increment variabel i
akan ditambah satu terlebihdahulu, kemudian diisi
ke variabel a
.
Kesimpulan
Jadi posisi simbol ++
menentukan kapan nilai variabel akan ditambah.
Bila ditulis di depan, maka akan ditambah dulu. Sedangkan bila ditulis di belakang akan ditambah belakangan.
Selain simbol ++
ada juga simbol --
untuk mengurangi.
Apakah kamu sudah memahami perbedaan i++
dengan ++i
sekarang?
Bacaan lebih lanjut: