Showing posts with label Operator Logika OR. Show all posts
Showing posts with label Operator Logika OR. Show all posts

Friday, 24 August 2012

[Operator] Contoh Program Operator Logika || dan |

Berikut ini sebuah contoh source code yang menggunakan operator logika dan boolean OR,


public class TestOR
{
public static void main( String[] args ){
int i = 0;
int j = 10;
boolean test= false;

//demonstrasi ||
test = (i < 10) || (j++ > 9);
System.out.println(i);
System.out.println(j);
System.out.println(test);

//demonstrasi |
test = (i < 10) | (j++ > 9);
System.out.println(i);
System.out.println(j);
System.out.println(test);
}
}


Hasil keluaran dari program ini adalah,


0
10
true
0
11
true



Catatan, bahwa j++ pada baris yang terdiri atas operator || tidak dievaluasi sejak pernyataan pertama (i<10) yaitu telah bernilai sama dengan true.


Sumber : J.E.N.I

[Operator] Operator Logika || dan |

|| (logika OR) dan | (boolean logika inclusive OR)

Berikut ini adalah tabel kebenaran untuk || dan |,

Tabel kebenaran untuk || dan |



Perbedaan dasar antara operator || dan | adalah bahwa || mendukung short-circuit evaluations (atau proses evaluasi sebagian), sementara | tidak. Apa maksud dari pernyataan tersebut?

Diberikan suatu pernyataan,


exp1 || exp2



|| akan mengevaluasi pernyataan exp1, dan segera mengembalikan nilai true dan menyatakan bahwa exp1 bernilai true. Jika exp1 bernilai true, operator tidak akan pernah mengevaluasi exp2 karena hasil dari operasi operator akan bernilai true tanpa memperhatikan nilai dari exp2. Sebaliknya,operator | selalu mengevaluasi kedua nilai dari exp1 and exp2 sebelum mengembalikan suatu jawaban suatu nilai.

Lihat Contoh Programnya.

Sumber : J.E.N.I