Prioritas Operator Java

Prioritas operator menentukan urutan operator dalam ekspresi dievaluasi.

Sebelum Anda mulai membaca artikel ini, Anda harus memiliki pengetahuan dasar tentang Operator Java.

Sekarang, lihat pernyataan di bawah ini:

 int myInt = 12 - 4 * 2;

Berapa nilai myInt? Apakah itu akan (12 - 4)*2terjadi 16? Atau akan menjadi 12 - (4 * 2), yaitu 4,?

Jika dua operator berbagi operand yang sama, 4dalam hal ini, operator dengan prioritas tertinggi dioperasikan terlebih dahulu.

Di Jawa, prioritas *lebih tinggi daripada -. Oleh karena itu, perkalian dilakukan sebelum pengurangan, dan nilai myInt adalah 4.

Tabel Urutan Operator

Tabel di bawah ini mencantumkan prioritas operator di Jawa; semakin tinggi tampilannya di tabel, semakin tinggi prioritasnya.

Prioritas Operator Java
Operator Hak lebih tinggi
kenaikan dan penurunan postfix ++ --
increment dan decrement awalan, dan unary ++ -- + - ~ !
perkalian * / %
aditif + -
bergeser << >> >>>
relasional < > <= >= instanceof
persamaan == !=
bitwise DAN &
bitwise eksklusif ATAU ^
bitwise inklusif ATAU |
logis DAN &&
logis ATAU ||
terner ? :
tugas = += -= *= /= %=
&= ^= |= <<= >>= >>>=

Contoh: Operator Precedence

 class Precedence ( public static void main(String() args) ( int a = 10, b = 5, c = 1, result; result = a-++c-++b; System.out.println(result); ) )

Keluaran :

 2

Prioritas operator dari prefiks ++lebih tinggi dari pada -operator pengurangan. Karenanya,

 hasil = a - ++ c - ++ b;

setara dengan

 hasil = a - (++ c) - (++ b);

Saat menangani beberapa operator dan operan dalam satu ekspresi, Anda dapat menggunakan tanda kurung seperti pada contoh di atas untuk kejelasan. Ekspresi di dalam tanda kurung dievaluasi terlebih dahulu.

Asosiasi Operator di Jawa

Jika ekspresi memiliki dua operator dengan prioritas yang sama, ekspresi tersebut dievaluasi sesuai dengan asosiatifnya (kiri ke kanan, atau kanan ke kiri). Mari kita ambil contoh.

 a = b = c;

Di sini, nilai c diberikan ke variabel b. Kemudian nilai b diberikan untuk variabel a. Mengapa? Itu karena asosiasi operator = dari kanan ke kiri.

Tabel di bawah menunjukkan asosiatif operator Java bersama dengan asosiatifnya.

Prioritas dan Asosiatif Operator Java
Operator Hak lebih tinggi Asosiatif
kenaikan dan penurunan postfix ++ -- kiri ke kanan
increment dan decrement awalan, dan unary ++ -- + - ~ ! kanan ke kiri
perkalian * / % kiri ke kanan
aditif + - kiri ke kanan
bergeser << >> >>> kiri ke kanan
relasional < > <= >= instanceof kiri ke kanan
persamaan == != kiri ke kanan
bitwise DAN & kiri ke kanan
bitwise eksklusif ATAU ^ kiri ke kanan
bitwise inklusif ATAU | kiri ke kanan
logis DAN && kiri ke kanan
logis ATAU || kiri ke kanan
terner ? : kanan ke kiri
tugas = += -= *= /= %=
&= ^= |= <<= >>= >>>=
kanan ke kiri

Anda tidak perlu menghafal semuanya di sini. Seringkali, presedensi dan asosiativitas operator masuk akal. Anda selalu dapat kembali ke artikel ini untuk referensi jika ragu. Selain itu, Anda dapat menggunakan tanda kurung jika menurut Anda itu membuat kode Anda lebih mudah dipahami.

Artikel yang menarik...