آشنایی با نحوۀ بهکارگیری اپراتورها در زبان برنامهنویسی جاوا
در این آموزش قصد داریم تا با نحوۀ استفاده از عملگرها در زبان برنامهنویسی جاوا آشنا شده و ببینیم که چگونه میتوان برخی عملیات ریاضیاتی نظیر جمع، تفریق و غیره را روی دادههای مورد نظر اِعمال کرده و پردازشهای مورد نیاز را روی آنها انجام داد به علاوه اینکه به بررسی نحوۀ اولویتبندی اپراتورها خواهیم پرداخت.
برای شروع، در ابتدا با بهکارگیری دیتا تایپ int
متغیری تحت عنوان studentNumber
تعریف کرده و مقداری معادل عدد 121 را به آن اختصاص میدهیم که برای این منظور داریم:
int studentNumber = 121;
در ادامۀ آموزش برخی از رایجترین عملگرهای ریاضیاتی را معرفی کرده و نحوۀ پیادهسازی هر یک به منظور اِعمال روی مقدار منتسب به متغیر studentNumber
در دستور فوق را بررسی مینماییم.
اپراتور Plus
با توجه به مقدار اختصاصیافته به متغیر studentNumber
معادل عدد 121، اگر بخواهیم عددی مثل 10 را با مقدار منتسب به متغیر مذکور جمع کنیم، از اپراتور +
استفاده میکنیم:
int studentNumber = 121;
studentNumber = studentNumber + 10;
در کد فوق، با بهکارگیری نوع دادۀ int
متغیری تحت عنوان studentNumber
تعریف کرده و مقدار 121 را بدان منتسب کردهایم و در ادامه با استفاده از اپراتور +
عدد 10 را با 121 جمع کرده و نتیجۀ حاصل را مجدداً به متغیر studentNumber
اختصاص دادهایم که بدین ترتیب مقدار جدید جایگزین مقدار پیشین میگردد. به علاوه، روش دیگری جهت افزودن یک مقدار به عدد اختصاصیافته به متغیر مذکور وجود دارد که منجر به کوتاهی و سادگی کد فوق میشود که برای این منظور دستور سطر دوم از مثال پیشین را به صورت زیر تغییر میدهیم:
int studentNumber = 121;
studentNumber += 10;
همانطور که ملاحظه میشود، در این روش، عدد 10 با مقدار منتسب به متغیر studentNumber
معادل عدد 121 جمع شده و در نهایت نتیجۀ حاصل برابر با عدد 131 به متغیر studentNumber
اختصاص داده میشود.
اپراتور Minus
چنانچه بخواهیم عدد 10 را از مقدار منتسب به متغیر در مثال قبل کم کنیم، اپراتور -
را مورد استفاده قرار میدهیم که در مثال زیر نحوۀ اِعمال آن روی متغیر مذکور را آوردهایم:
int studentNumber = 121;
studentNumber = studentNumber - 10;
در دستور فوق عدد 10 از مقدار اختصاصیافته به متغیر studentNumber
معادل عدد 121 کم شده و نتیجۀ حاصل جایگزین مقدار پیشینِ منتسب به این متغیر میگردد. همچنین به منظور سادهسازی سورسکد روش دیگری میتوان مورد استفاده قرار داد که در مثال زیر نحوۀ پیادهسازی آن را بررسی مینماییم:
int studentNumber = 121;
studentNumber -= 10;
در این روش نیز شاهد خروجی مشابهی همچون روش اول هستیم و عدد 111 حاصل خواهد شد.
اپراتور Multiply
در ادامه، قصد داریم تا یک مقدار عددی را در مقدار اختصاصیافته به متغیر studentNumber
ضرب کنیم که برای این منظور اپراتور *
را به کار میگیریم که نحوۀ پیادهسازی آن به صورت زیر میباشد:
int studentNumber = 121;
studentNumber = studentNumber * 10;
در کد فوق، مقدار منتسب به متغیر studentNumber
در عدد 10 ضرب شده و عدد به دست آمده مجدداً در متغیر مذکور ذخیره میشود. همچنین مشابه روشهای پیشین و به منظور سادهسازی سورسکد، میتوانیم به روش زیر نیز عمل نماییم:
int studentNumber = 121;
studentNumber *= 10;
نتیجۀ حاصل از ضرب مقدار اختصاصیافته به متغیر studentNumber
برابر با عدد 1210 میباشد که جایگزین مقدار قبلیِ منتسب به متغیر مذکور شده و در آن ذخیره میگردد.
اپراتور Division
به منظور تقسیم مقدار اختصاصیافته به متغیر studentNumber
بر عددی دلخواه میتوانیم از اپراتور /
استفاده نماییم که برای این منظور دستوری مانند زیر خواهیم داشت:
int studentNumber = 121;
studentNumber = studentNumber / 10;
در واقع، مقدار منتسب به متغیر studentNumber
معادل عدد 121 بر عدد 10 تقسیم شده و عدد حاصل به متغیر مذکور اختصاص داده میشود (توجه داشته باشیم که مقدار حاصل از عملیات تقسیم در مثال فوق عدد 12.1 میباشد اما از آنجایی که جنس متغیر studentNumber
از نوع دادۀ int
تعریف شده است، مقادیر اعشاری را نمیتواند در خود ذخیره کند که از همین روی بخش اعشاری عدد حذف شده و فقط مقدار صحیح در آن ذخیره میشود.) به منظور سادهسازی سورسکد در رابطه با پیادهسازی اپراتور تقسیم نیز میتوانیم مشابه روشهای قبل عمل کرده و آن را به صورت زیر بر روی مقادیر عددی مورد نظر اِعمال کنیم:
int studentNumber = 121;
studentNumber /= 10;
نتیجۀ حاصل از دستورات فوق نیز مشابه روش قبل بوده و بخش صحیح حاصل از عملیات تقسیم در متغیر studentNumber
ذخیره میشود.
اولویت اپراتورها در زبان برنامهنویسی جاوا
در پروسهٔ توسعهٔ نرمافزار برخی مواقع نیاز داریم تا بیش از یک عمل ریاضیاتی را روی دیتای مورد استفاده در برنامۀ خود اِعمال کنیم که برای این منظور میباید از اولویت عملگرها در این زبان مطلع باشیم. برای مثال، فرض کنیم که با استفاده از دیتا تایپ int
دو متغیر به نامهای x
و y
به صورت زیر تعریف کردهایم به طوری که متغیر x
دارای هیچ دادهای نمیباشد اما متغیر y
دارای مقدار اولیهٔ 10 است:
int x;
int y = 10;
حال اگر فرض کینم که مقدار حاصل از ضرب عدد ذخیرهشده در متغیر y
در عدد 2 سپس جمع آن با عدد 6 را در متغیر x
نگهداری کنیم، لازم است تا کد فوق را به صورت زیر تغییر دهیم:
int x;
int y = 10;
x = y * 2 + 6;
نتیجۀ حاصل از اجرای چنین دستوری هم میتواند عدد 26 و هم 80 باشد و بسته به اینکه اول عمل ضرب انجام شود یا عمل جمع، مقادییر متفاوتی به متغیر x
منتسب میشوند.
حال با توجه به آنچه در نکتۀ بالا بدان اشاره کردیم، میتوان گفت که نتیجۀ حاصل از اِعمال اپراتورهای ریاضیاتی روی دادههای مد نظر برابر با عدد 26 بوده و در متغیر x
ذخیره میشود. به علاوه، چنانچه بخواهیم تا اولویت بالاتری به اپراتور مورد نظر خود بدهیم به طوری که مفسر جاوا در ابتدا آن را روی عملوندهای متناظرش (مقادیر مربوط به سمت چپ و راست عملگر مربوطه) اِعمال کند، کافی است تا اعداد مد نظر را به همراه عملگر متناظرشان داخل علائم ()
قرار دهیم. برای مثال، در کد فوق قصد داریم تا در ابتدا اعداد 2 و 6 با یکدیگر جمع شده سپس حاصلجمع آنها در مقدار ذخیرهشده در متغیر y
معادل با عدد 10 ضرب شود که برای منظور دو عدد 2 و 6 را به صورت زیر داخل علامت پرانتز قرار میدهیم:
int x;
int y = 10;
x = y * (2 + 6);
در دستور فوق، ابتدا عملیات ریاضیاتی داخل پرانتز اجرا شده و نتیجه حاصل در مقدار منتسب به متغیر y
ضرب میشود که در نهایت مقدار به دست آمده معادل عدد 80 به متغیر x
اختصاص مییابد.