Keutamaan operator menentukan urutan di mana pengendali dalam ekspresi dinilai.
Sebelum anda mula membaca artikel ini, anda harus mempunyai pengetahuan asas mengenai Operator Java.
Sekarang, lihat pernyataan di bawah:
int myInt = 12 - 4 * 2;
Apakah nilai myInt? Adakah ia akan (12 - 4)*2
berlaku 16
? Atau ia akan 12 - (4 * 2)
, iaitu 4
,?
Apabila dua pengendali berkongsi operasi biasa, 4
dalam kes ini, pengendali yang mempunyai keutamaan tertinggi dikendalikan terlebih dahulu.
Di Jawa, keutamaan *
lebih tinggi daripada -
. Oleh itu, pendaraban dilakukan sebelum pengurangan, dan nilai myInt akan menjadi 4.
Jadual Keutamaan Operator
Jadual di bawah menyenaraikan keutamaan pengendali di Java; semakin tinggi ia muncul dalam jadual, semakin tinggi keutamaannya.
Keutamaan Operator JavaPengendali | Keutamaan |
---|---|
kenaikan dan penurunan postfix | ++ -- |
kenaikan dan penurunan awalan, dan unary | ++ -- + - ~ ! |
pendaraban | * / % |
bahan tambah | + - |
pergeseran | << >> >>> |
perhubungan | < > <= >= instanceof |
kesaksamaan | == != |
sedikit demi sedikit DAN | & |
eksklusif bitwise ATAU | ^ |
termasuk bitwise ATAU | | |
logik DAN | && |
logik ATAU | || |
bertaraf | ? : |
tugasan | = += -= *= /= %= &= ^= |= <<= >>= >>>= |
Contoh: Keutamaan Operator
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
Keutamaan pengendali awalan ++
lebih tinggi daripada -
operator tolak. Oleh itu,
hasil = a - ++ c - ++ b;
adalah bersamaan dengan
hasil = a - (++ c) - (++ b);
Semasa berurusan dengan beberapa operator dan operan dalam satu ungkapan, anda boleh menggunakan tanda kurung seperti dalam contoh di atas untuk kejelasan. Ekspresi di dalam tanda kurung dinilai terlebih dahulu.
Keterkaitan Pengendali di Jawa
Sekiranya ekspresi mempunyai dua pengendali dengan keutamaan yang serupa, ekspresi dinilai mengikut kaitannya (baik kiri ke kanan, atau kanan ke kiri). Mari kita ambil contoh.
a = b = c;
Di sini, nilai c diberikan kepada pemboleh ubah b. Kemudian nilai b diberikan pemboleh ubah a. Kenapa? Ini kerana kaitan operator = dari kanan ke kiri.
Jadual di bawah menunjukkan kaitan operator Java bersama dengan kaitannya.
Keutamaan dan Perkaitan Operator JavaPengendali | Keutamaan | Pergaulan |
---|---|---|
kenaikan dan penurunan postfix | ++ -- | kiri ke kanan |
kenaikan dan penurunan awalan, dan unary | ++ -- + - ~ ! | kanan ke kiri |
pendaraban | * / % | kiri ke kanan |
bahan tambah | + - | kiri ke kanan |
pergeseran | << >> >>> | kiri ke kanan |
perhubungan | < > <= >= instanceof | kiri ke kanan |
kesaksamaan | == != | kiri ke kanan |
sedikit demi sedikit DAN | & | kiri ke kanan |
eksklusif bitwise ATAU | ^ | kiri ke kanan |
termasuk bitwise ATAU | | | kiri ke kanan |
logik DAN | && | kiri ke kanan |
logik ATAU | || | kiri ke kanan |
bertaraf | ? : | kanan ke kiri |
tugasan | = += -= *= /= %= &= ^= |= <<= >>= >>>= | kanan ke kiri |
Anda tidak perlu menghafal semuanya di sini. Sebahagian besar masa, keutamaan dan kesatuan pengendali masuk akal. Anda selalu boleh kembali ke artikel ini untuk dijadikan rujukan sekiranya ragu-ragu. Anda juga boleh menggunakan kurungan jika anda rasa kod anda lebih mudah difahami.