اولویت (Precedence)
وقتی یک عبارت چند عملگر دارد، اولویت عملگرها جاوا تعیین می کند کدام بخش اول حساب شود. مثل ریاضی مدرسه؛ ضرب جلوتر از جمع انجام می شود. اگر ترتیب خاصی می خواهی، پرانتز بگذار.
اولویت عملگرها جاوا یعنی چه؟
در عبارت زیر، ضرب قبل از جمع محاسبه می شود. با پرانتز می توانیم جمع را جلو بیندازیم.
int result1 = 2 + 3 * 4; // 14
int result2 = (2 + 3) * 4; // 20
System.out.println(result1);
System.out.println(result2);
چرا این اتفاق می افتد؟
در 2 + 3 * 4، ضرب زودتر انجام می شود. پس نتیجه 14 است. اما با (2 + 3) * 4 اول جمع می شود و 20 می گیری.
نکته: برای خوانایی بهتر، همیشه از پرانتزهای روشن استفاده کن. حتی وقتی نتیجه یکی است.
ترتیب رایج از زیاد به کم
پرانتزها اول می آیند. سپس ضرب، تقسیم، باقیمانده. بعد جمع و تفریق. سپس مقایسه ها، بعد برابری، بعد AND، سپس OR، و در پایان انتساب.
مثال دیگر: چپ به راست
جمع و تفریق از چپ به راست پیش می روند؛ مگر اینکه پرانتز بدهی.
int result1 = 10 - 2 + 5; // 13
int result2 = 10 - (2 + 5); // 3
System.out.println(result1);
System.out.println(result2);
گام های تمرین
- یک عبارت با + و * بنویس.
- نتیجه را چاپ کن.
- حالا پرانتز اضافه کن و دوباره چاپ کن.
نکته: برای منطق چندشرطی، بخش منطقی را ببین. برای مرور کل عملگرها هم اولویت عملگرها جاوا را دنبال کن.
جمع بندی سریع
- پرانتز همیشه اول است.
- * و / قبل از + و - هستند.
- جمع و تفریق چپ به راست اند.
- پرانتز کد را واضح تر می کند.