Video: Week 3, continued 2024
Operator plus dan tolak tidak rasmi membolehkan anda menukar tanda operan di Jawa. Perhatikan bahawa pengendali sebenar yang digunakan untuk operasi ini adalah sama dengan pengendali tambahan dan pengurangan binari. Pengkompil memaparkan sama ada anda bermaksud menggunakan versi binari atau unary operator ini dengan memeriksa ungkapan tersebut.
Operator minus unary tidak semestinya membuat operan mempunyai nilai negatif. Sebaliknya, ia mengubah apa jua tanda yang harus dilakukan oleh operan. Oleh itu, jika pengendali bermula dengan nilai positif, operator minus unary mengubahnya menjadi negatif. Tetapi jika operan bermula dengan nilai negatif, operator minus unary menjadikannya positif. Contoh-contoh berikut menggambarkan perkara ini:
int a = 5; // a ialah 5
int b = -a; // b ialah -5
int c = -b; // c ialah +5
Menariknya, pengendali unary plus tidak melakukan apa-apa. Sebagai contoh:
int a = -5; // a ialah -5
int b = + a; // b ialah -5
a = 5; // a kini 5
int c = + a; //c ialah 5
Perhatikan bahawa jika
a
bermula positif,
+ a
juga positif. Tetapi jika
a
bermula negatif,
+ a
masih negatif. Oleh itu, operator plus plus tidak mempunyai kesan. Saya rasa Jawa menyediakan pembekal unary selain keperluan untuk keseimbangan.
Anda juga boleh menggunakan operator ini dengan ungkapan yang lebih rumit, seperti ini:
int a = 3, b = 4, c = 5;
int d = a * - (b + c); // d adalah -27
Di sini,
b
ditambahkan ke
c
, memberikan hasil
9
. Kemudian operator minus unary dikenakan, memberikan hasil
-9
. Akhirnya,
-9
didarab dengan
a
, memberikan hasil
-27
.