بک لینک

عبارت شرطی if در قالب پروژه برنامه چک کردن تعداد بطری های آب

java
به نام خدا
آموزش چهاردهم
زمانیکه ما یک برنامه جاوا می نویسیم، یکسری دستورات تحت عنوان Statement به کامپیوتر
خود داده که کامپیوتر ما با توجه به تقدم و تاخر این دستورات آن ها را یکی پس از دیگری انجام
می دهد)اصطالحاً به این حالت الگوریتم گفته می شود و جالت است بدانیم که واژه الگوریتم از
روی نام دانشمند معروف ایرانی خوارزمی گرفته شده است(. زمان هایی در برنامه نویسی برای
ما پیش می آیند که می بایست این وظیفه را به عهده کامپیوتر بگذاریم تا با توجه به شرایط
خاصی تصمیم متفاوتی را اتخاذ کند. به طور مثال فرض کنیم که برنامه ای می نویسیم تا حساب
ماهیانه ما را مورد بررسی قرار دهد. در این برنامه می توانیم از یکسری دستورات شرطی استفاده
کنیم مبنی بر اینکه مثالً اگر مانده حساب از 011 هزار تومان کمتر شد به ما اخطار دهد.
در زبان برنامه نویسی جاوا برای انجام اینکار از دستورات شرطی if, else, switch استفاده می
کنیم. در واقع رایج ترین نوع شرط در زبان برنامه نویسی جاوا استفاده از دستورات if است. در
حقیقت با استفاده از چنین دستوراتی ما از برنامه می خواهیم که بسنجد که آیا یک شرط true یا
false است و بسته به اینکه true یا false باشد دستور مد نظر ما را اجرا کند.
برای روشن شدن مطالب فوق همانطور که قبالً آموزش داده شد یک پروژه جدید در محیط
14 به معنی جلسه چهاردهم ایجاد کرده و th برنامه نویسی اکلیپس تحت عنوان Session
کالسی به اسم IfClass در آن ایجاد می کنیم)الزم به ذکر است این نام ها اختیاری هستند فقط
می بایست توجه داشته باشیم که نحوه نام گذاری صحیح باشد(. فراموش نکنیم که در حین
ساخت این کالس گزینه public static void main را تیک بزنیم.
پیش از نوشتن هرگونه دستوری کد ما به شکل زیر خواهد بود:دوره آموزش جاوا

public class IfClass {
public static void main(String[] args) {
}
}
حال نیاز داریم تا متغیری از جنس int در برنامه خود با مقدار Value اولیه ایجاد کنیم تا بتوانیم
به وسیله آن دستورات if را اجرا کنیم. برای همین منظور کد فوق را به صورت زیر تکمیل می
کنیم:
public class IfClass {
public static void main(String[] args) {
int waterAmount = 11;
}
}
متغیر ما تحت عنوان waterAmount به معنی مقدار آب می باشد که Value آن معادل با 00
است)می توانیم به طور فرضی واحد آب را لیتر یا بطری در نظر بگیریم(. حال در این مرحله از
برنامه نویسی با استفاده از جمالت شرطی if می خواهیم مقدار آب را با شرایطی که در نظر می
گیریم مقایسه کرده و با توجه به نتیجه به دست آمده چیزی مرتبط را در بخش Console محیط
برنامه نویسی اکلیپس چاپ کنیم. اکنون کد خود را به شکل زیر تکمیل می کنیم:
public class IfClass {
public static void main(String[] args) {
int waterAmount = 11;
if(){
}
}
}
به منظور استفاده از دستورات if می بایست همانطور که در کد باال مشاهده می شود از ساختار
{}()if استفاده کنیم به این صورت که شرط خود را داخل پرانتزها نوشته و دستوری که می
بایست در صورت true بودن شرط if اجرا گردد را داخل دو عالمت {} قرار می دهیم. در
حقیقت ما در این برنامه خود می خواهیم به کامپیوتر دستور دهیم که اگر تعداد بطری های آب از
01 عدد کمتر بود، جمله ای مبنی بر اینکه بایستی آب خریداری شود در بخش Console نمایش
داده شود. برای همین منظور به صورت زیر کد خود را تکمیل می کنیم:
public class IfClass {
public static void main(String[] args) {
int waterAmount = 11;
if (waterAmount < 20) {
System.out.println(“Go and buy some water!”);
}
}
}
در کد فوق waterAmount < 20 نشانگر این مطلب است که اگر Value متغیر
waterAmount از عدد 01 کمتر بود دستور زیر که حاکی از نمایش جمله Go and buy
!some water به معنی برو و مقداری آب بخر! روی صفحه مانیتور می باشد.)عالمت > به
معنی کمتر از می باشد(. برنامه ما پس از اجرا به صورت زیر مشاهده خواهد شد:
حال اگر عدد 01 را به عدد 7 تغییر دهیم مشاهده خواهیم کرد که در بخش Console هیچ
چیزی نمایش داده نخواهد شد چرا که جواب شرط waterAmount < 7 به صورت false
است زیرا مقدار اولیه که برای مقدار آب در نظر گرفته شده است معادل با 00 می باشد و از آنجا
که 00 از 7 بزرگتر است پس جواب شرط ما true نخواهد شد که دستور داخل { } اجرا شود.
حال زمان هایی برای ما پیش خواهد آمد که نیاز داریم تا مقدار یک متغیر را به گونه ای بسنجیم
که ببینیم آیا کمتر از یا مساوی با یک مقدار خاصی است یا خیر که برای این منظور از عالمت
=> استفاده می کنیم. در واقع اگر بخواهیم ببینیم که آیا تعداد بطری های آب موجود کمتر از
00 یا مساوی با 00 است یا خیر کد خود را به شکل زیر بازنویسی می کنیم:
public class IfClass {
public static void main(String[] args) {
int waterAmount = 11;
if (waterAmount <= 11) {
System.out.println(“Go and buy some water!”);
}
}
}
در پرانتز مقابل if دیده می شود که waterAmount <= 11 نوشته شده است به این معنی که
اگر تعداد بطری های آب موجود کمتر از 00 بطری بود دستور داخل { } را نمایش بده و اگر
تعداد بطری های آب برابر با 00 هم بود باز هم جمله برو و مقداری آب بخر! را روی صفحه
مانیتور نمایش بده. با اجرای برنامه فوق ما مجدداً می بینیم که جمله شرطی در بخش Console
به نمایش در می آید چرا که شرطی که ما معین کرده ایم true است. حال ممکن است بخواهیم
شرطی را در برنامه خود تعیین کنیم مبنی بر اینکه اگر تعداد بطری های آب دقیقاً معادل با 00 بود
جمله !We do not need water به معنی ما به آب نیاز نداریم! را در بخش Console
نمایش دهد. برای این منظور خیلی از برنامه نویسان مبتدی جاوا ممکن است که کد فوق را به
صورت زیر بازنویسی کنند:

به محض اینکه ما کد خود را به صورت فوق بازنویسی کنیم، مشاهده خواهیم کرد که اکلیپس از
ما ایراد خواهد گرفت و دور عبارت waterAmount = 11 خط چین قرار می دهد. این بدان
معنا است که برنامه ما دچار مشکل است. در واقع در زبان برنامه نویسی جاوا بر خالف قوانین
ریاضیاتی عالمت = نشانگر برابر بودن نبوده و صرفاً جهت اختصاص دادن مقادیر به متغیرها مورد
استفاده قرار می گیرد. به طور مثال اگر بخواهیم مقدار 00 را به متغیری از جنس int تحت عنوان
waterAmount اختصاص دهیم از عالمت = استفاده می کنیم. حال اگر بخواهیم در زبان
برنامه نویسی جاوا برابر بودن را نشان دهیم می بایست از دو عالمت مساوی پشت سر هم به
صورت = = استفاده کنیم. اکنون با دانستن این نکته کد فوق را می توانیم به شکل زیر بازنویسی
کنیم و مشاهده می کنیم که کلیه خطاهای برنامه رفع خواهند شد:
public class IfClass {
public static void main(String[] args) {
int waterAmount = 11;
if (waterAmount == 11) {
System.out.println(“We don not need water!”);
}
}
}
در این مرحله پس از اجرای برنامه، شرطی که ما در برنامه خود قرار داده ایم می سنجد که آیا
مقدار بطری های آب آیا دقیقاً برابر با 00 است یا خیر، اگر پاسخ true بود جمله We do not
!need water نمایش داده خواهد شد:
حال اگر مقدار متغیر waterAmount که در بخش باالی کد خود تعریف کردیم را به عددی
به غیر از عدد 00 تغییر دهیم)خواه این عدد کمتر از 00 باشد خواه بیشتر( جواب شرط ما false
خواهد شد و چیزی در بخش Console به نمایش در نخواهد آمد.
عالوه بر عالمت = = عالمت دیگری نیز وجود دارد که در برنامه نوسی جاوا و اندروید به
کرات مورد استفاده قرار می گیرد و آن هم =! به معنی نابرابر با می باشد. به طور مثال اگر در
برنامه خود بخواهیم یک Statement یا دستوری را اجرا کنیم مبنی بر اینکه اگر مقدار متغیر
به The no of water bottles in not 100! جمله نبود 011 با معادل waterAmount
معنی تعداد بطری های آب معدل با 011 نیست! کد خود را به صورت زیر بازنوسی می
کنیم:
public class IfClass {
public static void main(String[] args) {
int waterAmount = 11;
if (waterAmount != 100) {
System.out.println(“The no of water bottles is not 100!”);
}
}
}
در حقیقت عبارت waterAmount != 100 می سنجد که آیا مقدار Value اختصاص داده
شده به متغیر waterAmount معادل با 011 است یا خیر و چنانچه این مقدار معادل با 011 نباشد
جواب شرط ما true خواهد بود چرا که در شرط خود قید کرده ایم =! waterAmount
100 به معنی اگر مقدار متغیر waterAmount مخالف با 011 باشد که در این صورت جواب
این شرط true است چرا که مقدار متغیر ما معادل با 00 است از این رو جمله داخل دو عالمت ”
” در بخش Console به نمایش در خواهد آمد و چیزی همچون تصویر زیر مشاهده خواهیم
کرد:
همانطور که در تصویر فوق مشاهده می شود عبارت The no of water bottles is not
!100 به معنی تعداد بطری های آب صد عدد نیست! نمایش داده می شود.
به منظور اینکه بخواهیم شرطی قرار دهیم مبنی بر اینکه مقدار متغیری بیشتر از، بیشترو یا معادل با
مقدار خاصی باشد به ترتیب از < و =< نیز استفاده می کنیم. نکته ای که حتماً می بایست به خاطر
داشته باشیم این است که به منظور مقایسه کردن string ها همانطور که قبالً آموزش داده شد می
بایست از متد ()equals استفاده کرد و به هیچ وجه نمی توان از عالئم < > و غیره استفاده کرد.
در حقیقت زمان هایی در برنامه نویسی رخ می دهد که ما تمایل داریم که اگر جواب به
شرطtrue بود دستوری انجام شود و اگر جواب false بود کار دیگری انجام شود که این کار را
به سهولت با ادغام دستورات ifو else می تواند انجام داد که در جلسه آتی با این مسئله در
عبارت شرطی آشنا خواهیم شد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *