Bekerjasama Dengan Operator, Session 7: Equality Operators
Hallo para pembaca yang baik hatinya, ketemu lagi dengan saya sang programmer pemula. Masih melanjutkan curhatan sebelumnya mengenai Operator, sebelumnya saya ngecurhat soal Conditional Operator, kali ini saya mau mengeluarkan uneg-uneg tentang Equality Operators.
Equality operators ini hanya bekerja untuk operan berupa angka bulat (
Sedangkan ketika kita membandingkan dua variable berupa objek (termasuk
*Note: Ingat baik-baik bahwa tipe data
Oke deh, saya sudahi saja sesi curhatan ini karena udah ga ada lagi yang mau diomongin. hehehe. Sampai jumpa lagi ya di curhatan berikutnya.
~Equality? Mau ngomongin soal persamaan hak nih?Equality kalo diterjemahkan ke dalam bahasa Indonesia artinya persamaan. Ya, pembahasan kali ini adalah masalah persamaan dan tidak persamaan. Untuk mengetes apakah dua nilai sama digunakan operator (==), hasil pengetesan adalah benar (
* Ya enggak lah vroh, yang bener ajah
true
) jika kedua operan nilainya sama. Sedangkan untuk mengetes apakah dua nilai tidak sama digunakan operator (!=), hasil pengetesan adalah benar (true
) jika kedua operan memiliki nilai yang berbeda.Equality operators ini hanya bekerja untuk operan berupa angka bulat (
byte
, short
, int
, long
), jika equality operators digunakan untuk operan berupa angka desimal (float
, double
) dan juga data berupa objek (termasuk juga tipe data String
) maka ceritanya akan lain. Contoh penggunaan equality operators,int a = 4;
int b = 4;
int c = 8;
boolean sama = a == b; // akan bernilai true
boolean beda = a != c; // akan bernilai true
Nah, ceritanya akan berbeda jika kita mencoba membandingkan dua buah variable bertipe float
atau double
. Tipe data float
atau double
memang kurang menyenangkan bagi kita-kita yang math-holic karena dalam dunia Java 1/10 bukan berarti 0.1 dan 0.1 + 0.2 bukan berarti 0.3. Lihat lagi soal tipe data di sini. Silakan coba kode berikut jika tidak percaya,class Main{
public static void main (String[] args){
System.out.println(0.6 == 0.2 + 0.2 + 0.2); //output berupa false
System.out.println(0.6 == 0.2 * 3); //output berupa false
}
}
Console akan mengeluarkan output false
untuk kedua baris kode tersebut karena 0.2 + 0.2 + 0.2 = 0.6000000000000001, begitu juga dengan 0.2 * 3 = 0.6000000000000001.Sedangkan ketika kita membandingkan dua variable berupa objek (termasuk
String
) dengan menggunakan equality operators (== atau !=) yang akan dibandingkan bukan content/isi/nilainya tapi yang akan dibandingkan adalah reference dari objek tersebut.
*Note: Ingat baik-baik bahwa tipe data
String
bukan lah primitive tapi adalah objek.Oke deh, saya sudahi saja sesi curhatan ini karena udah ga ada lagi yang mau diomongin. hehehe. Sampai jumpa lagi ya di curhatan berikutnya.
0 comments: