نحوه به کارگیری از اپراتورها در زبان برنامه نویسی جاوا

سیده آمین ارمان

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2016/05/10
ارسالی ها
1,730
امتیاز واکنش
20,744
امتیاز
795
محل سکونت
البرز
پس از آشنایی با کلاس String در زبان برنامه نویسی جاوا، اکنون می توانیم با استفاده از Operator ها یا هماناعمال ریاضیاتی مثل جمع و تفریق و غیره مقادیر متغیرهای متفاوتی را در تعامل با یکدیگر قرار دهیم. فرض کنیم که ما یک متغیر از جنس int تحت عنوان studentNumber داریم. مقدار اختصاص داده شده به متغیر ما 121 می باشد:

int studentNumber = 121;
حال اگر بخواهیم عددی مثل 10 را به مقدار متغیر studentNumber که معادل با 121 است اضافه کنیم به این صورت عمل می کنیم:

int studentNumber = 121;
studentNumber = studentNumber + 10;
روش دیگری که از آن طریق می توان 10 واحد به 121 اضافه کرد به صورت زیر است:

int studentNumber = 121;
studentNumber +=10;
در این صورت عدد 10 به مقدار متغیر که 121 است اضافه شده، حال از این پس مقدار متغیر studentNumber عدد 131 خواهد بود. چنان چه بخواهیم عدد 10 را از مقدار متغیرمان کم کنیم به صورت زیر عمل می کنیم:

int studentNumber = 121;
studentNumber = studentNumber - 10;
روش دیگری که از آن طریق می توان 10 واحد از 121 کم کرد به صورت زیر است:

int studentNumber = 121;
studentNumber -=10;
حال مقدار نهایی متغیر studentNumber عدد 111 خواهد بود. چنانچه بخواهیم مقدار متغیر studentNumber را در عددی ضرب کنیم به صورت زیر عمل می کنیم (برای تایپ کردن علامت ستاره، از ترکیب کلیدهای Shift و عدد 7 کیبورد استفاده می کنیم):

int studentNumber = 121;
studentNumber = studentNumber * 10;
روش دیگری که از آن طریق می توان 10 را در 121 ضرب کرد به صورت زیر است:

int studentNumber = 121;
studentNumber *=10;
در این صورت نتیجه نهایی 1210 خواهد بود. به عبارت دیگر از این پس در هر کجای برنامه که ما متغیر studentNumber را مورد استفاده قرار دهیم عدد 1210 مبنای محاسبه خواهد بود. چنانچه بخواهیم مقدار متغیرمان را بر عددی تقسیم کنیم به شکل زیر عمل خواهیم کرد:

int studentNumber = 121;
studentNumber = studentNumber / 10;
لازم به ذکر است که علامت / یا اسلش نمی بایست با علامت \ یا بک اسلش اشتباه گرفته شود. روش دیگری که از آن طریق می توان 121 را بر 10 تقسیم کرد به صورت زیر است:

int studentNumber = 121;
studentNumber /=10;
که در این صورت مقدار متغیر ما که 121 است بر عدد 10 تقسیم خواهد شد و عدد 12.1 به دست خواهد آمد (توجه داشته باشیم که در اینجا جاوا عدد 12 را به ما نشان خواهد داد چرا که جنس متغیر studentNumber از نوع int است و نمی تواند مقدار اعشاری را در خود ذخیره کند.)

آشنایی با مفاهیم Incrementing و Decrementing در زبان جاوا
مواقعی برای ما پیش می آید که تمایل داریم مقدار متغیر خود را به میزان یک عدد بیشتر افزایش یا کاهش دهیم که در این صورت بایستی اصطلاحاتی همچون Incrementing و Decrementing را مورد استفاده قرار دهیم. معنای لغوی این واژگان به ترتیب افزایش دادن و کاهش دادن است. به طور مثال چنانچه بخواهیم مقدار عددی متغیر studentNumber را به میزان یک واحد افزایش دهیم، به صورت زیر عمل می کنیم:

int studentNumber = 121;
studentNumber++;
حال مقدار عددی متغیر ما عدد 122 خواهد بود. به همین منوال می توانیم یک عدد نیز از مقدار متغیر خود به صورت زیر کم نماییم:

int studentNumber = 121;
studentNumber--;
اکنون مقدار نهایی متغیر studentNumber عدد 120 است. در مورد Incrementing و Decrementing نکته مهمی را همواره می بایست مد نظر قرار دهیم و آن هم این که چنانچه علامت های + و – قبل از نام متغیر قرار بگیرند (مثلاً studentNumber++) اصطلاحاً Pre-incrementing نامیده می شوند و چنانچه پس از نام متغیر قرار بگیرند (مثلاً ++studentNumber) اصطلاحا Post-incrementing نامیده می شوند (در مورد علامت -– به ترتیب Pre-decrementing و Post-decrementing نامیده می شوند.) تفاوتی که مابین Pre و Post وجود دارد از آنجا ناشی می شود که در مورد Pre یک واحد به مقدار متغیر قبل از نمایش دادن آن اضافه می شود. به عبارت دیگر:

class Test {
public static void main(String[] args) {
int studentNumber = 121;
System.out.println(++studentNumber);
}
}
در واقع قبل از آن که مقدار متغیر ما در بخش کنسول نمایش داده شود، یک واحد به آن اضافه می شود و عدد 122 نمایش داده خواهد شد. حال اگر علامت ++ را بعد از نام متغیر قرار دهیم، مقدار یک واحد به مقدار متغیر ما اضافه خواهد شد اما پس از آن که برنامه یک بار اجرا شد. در واقع کد زیر

class Test {
public static void main(String[] args) {
int studentNumber = 121;
System.out.println(studentNumber++);
}
}
یک واحد به متغیر studentNumber پس از آنکه برنامه اجرا شد اضافه می کند که در این صورت ما در بخش کنسول همان عدد 121 را مشاهده خواهیم کرد چرا که برنامه اجرا می شود، مقدار 121 نمایش داده می شود، سپس یک واحد به آن اضافه می شود و تبدیل به 122 می شود. هم اکنون اگر بخواهیم برنامه خود را تست کنیم که ببینیم آیا یک واحد اضافه شده است یا خیر یک دستور دیگر به کد خود به صورت زیر اضافه می کنیم:

class Test {
public static void main(String[] args) {
int studentNumber = 121;
System.out.println(studentNumber++);
System.out.println(studentNumber);
}
}
پس از آن که یک واحد در دستور اول به مقدار متغیر ما اضافه شد، پس از فراخوانی مجدد متغیر مقدار جدید آن که 122 است در بخش کنسول نمایش داده خواهد شد.

اولویت اپراتورها در زبان برنامه نویسی جاوا
زمان هایی در برنامه نویسی برای ما اتفاق می افتد که نیاز داریم بیش از یک عمل ریاضیاتی را در کد خود اعمال کنیم که در این صورت دانستن این نکته که جاوا اول کدام عمل اصلی را محاسبه خواهد کرد از اهمیت بسزایی برخوردار خواهد بود. فرض کنیم که دو متغیر از جنس int به نام های x و y داریم که متغیر x دارای هیچ داده ای نمی باشد اما متغیر y دارای مقدار 10 است:

int x;
int y = 10;
حال در نظر بگیریم که مقدار متغیر x قرار است حاصل ضرب مقدار متغیر y در عدد 2 و سپس به علاوه عدد 6 باشد. به عبارت دیگر کد فوق به صورت زیر تغییر خواهد یافت:

int x;
int y = 10;
x = y * 2 + 6;
نتیجه متغیر x هم می تواند عدد 26 و هم 80 باشد بسته به این که اول عمل ضرب انجام شود یا عمل جمع. در زبان برنامه نویسی جاوا اعمال Incrementing و Decrementing اول رخ می دهند، سپس اعمال ضرب و تقسیم صورت گرفته و در نهایت اعمال جمع و تفریق اعمال می شوند. حال با دانستن این قوانین می توان گفت که نتیجه متغیر x در مثال فوق 26 خواهد بود.

گاهی اوقات ما مجبور هستیم در قواعد زبان برنامه نویسی جاوا دخل و تصرف کنیم. به طور مثال گاهی اوقات ما نیاز داریم تا عمل جمع قبل از عمل ضرب صورت گیرد. به عبارت دیگر در مثال فوق ما نیاز داریم تا اول عددهای 2 و 6 با یکدیگر جمع شده سپس حاصل جمع آن ها در مقدار متغیر y که برابر با 10 است ضرب شود. در چنین مواقعی به راحتی می توان دو عددی که می خواهیم با یکدیگر جمع شوند و یا از یکدیگر کم شوند را داخل علامت های ( ) قرار دهیم:

int x;
int y = 10;
x = y * (2 + 6);
حال نتیجه ای که به دست خواهد آمد عدد 80 خواهد بود.

هشدار
نکته ای که در اینجا می بایست حتماً به خاطر بسپاریم این است که نمی توانیم این اعمال را (ضرب، تقسیم، جمع و تفریق) مابین یک متغیر از جنس int و یک متغیر از جنس double اجرا کنیم که در این صورت کامپایلر در حین اجرای برنامه ارور خواهد داد.
پس از آشنایی با انواع متغیرها در آموزش پیشین و همچنین آشنایی با اپراتورها در این جلسه، خواهیم توانست مهارت کدنویسی خود را یک پله ارتقاء داده و برنامه هایی کمی پیچیده تر بنویسیم. در قسمت آموزشی آتی خواهیم دید که چگونه با استفاده از همین اصول ابتدایی اپراتور ها می توان پروژه ای طراحی کرد که وزن ما را روی دیگر سیارات منظومه شمسی مثل مشتری و زحل محاسبه کند.
 

برخی موضوعات مشابه

بالا