Kamis, 15 Desember 2011

OPERATOR RELASI

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