Apakah Perbedaan dari i++ dengan ++i?
Dalam materi-materi perulangan 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 perbedaannya?
Post-increment dan Pre-increment
Penulisan simbol ++ di belakang variabel 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.
12345678910Keduanya menghasilkan output yang sama, lalu letak perbedaannya di mana?
Perbedaan i++ dengan ++i
Simbol ++ sebenarnya bentuk singkatan dari sebuah ekspresi:
i++merupakan singkatan darii += 1ataui = i + 1.++imerupakan singkatan darii += 1ataui = 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 = 2Pre-Increment
int a;
int i = 1;
a = ++i;
System.out.println("a = " + a);
System.out.println("i = " + i);Hasil output:
a = 2
i = 2Kenapa bisa begitu?
Mari kita jabarkan:
- post-increment:
a = i++itu sama sepertia = i; i = i + 1;. - pre-increment:
a = ++iitu 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 terlebih dahulu, 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: