Operator Relasi selalu menghasilkan tipe data boolean true atau false, operator ini sering digunakan untuk mengecek sebuah kondisi dan diletakkan pada percabangan if. ada 6 jenis operator relasi
< lebih kecil
> lebih besar
<= lebih kecil sama dengan
>= lebih besar sama dengan
== perbandingan
!= tidak sebanding
int x = 300;
if(x > 100){
System.out.println("nilai diatas 100");
}
hasil operasi relasi dapat di assign ke variable tipe boolean
int x = 100;
boolean b = x < 10;
Operator <, >, <=, >= bisa membandingkan semua tipe data, bilangan bulat, pecahan, karakter(char), baik dalam bentuk variable atau dalam bentuk literal. Operator ==, != bisa digunakan untuk mengoperasikan semua tipe data dari primitif, Wrapper Class, hingga tipe data reference
Operator pembanding cukup baik jika digunakan untuk membandingkan tipe data primitif, yang perlu diwaspadai jika membandingkan pecahan, tipe data double atau float tidak bisa dikendalikan nilai dibelakang koma.
Operator pembanding cukup kompleks jika digunakan untuk membandingkan tipe data reference. Dua data dengan tipe data reference disebut sebanding jika keduanya memiliki alamat yang sama, atau keduanya menunjuk ke object yang sama di memory.
public class CompareWrapperClass{
public static void main(String[] args){
Integer i = new Integer(10);
Integer x = new Integer(10);
System.out.println("new Integer(10) == new Integer(10)? " + (i==x));
}
}
new Integer(10) == new Integer(10)? false
Jika sedikit dimodifikasi
public class CompareWrapperClass{
public static void main(String[] args){
Integer i = 10;
Integer x = 10;
System.out.println("new Integer(10) == new Integer(10)? " + (i==x));
}
}
new Integer(10) == new Integer(10)? true
Pada code yang pertama variable i dan x di assign ke object baru dengan adanya keyword new, artinya varibale i dan x akan menunjuk ke dua buah Integer object yang berbeda pada memory.
Pada code yang kedua variable i dan x di assign dengan nilai literal 10 dengan menggunakan feature autoboxing/unboxing.
Untuk membandingkan wrapper class atau tipe data reference gunakan method equals yang tersedia
Tidak ada komentar:
Posting Komentar