آشنایی با دستور else در زبان برنامه نویسی جاوا


آشنایی با دستور else در زبان برنامه نویسی جاوا


پس از آشنایی با مقدمات شرط در زبان برنامه نویسی جاوا با استفاده از if در آموزش قبل، حال نوبت به بررسی else می رسد. در واقع در آموزش قبل زمانی که جواب شرط true نبود، محیط برنامه نویسی اکلیپس هیچ چیزی را داخل کنسول نمایش نمی داد و این در حالی است که با استفاده از دستور else می توانیم به برنامه خود دستور دهیم که اگر جواب شرط true بود یک دستور اجرا شود و در غیر این صورت دستور دیگری اجرا گردد.

اما پیش از بحث پیرامون else می خواهیم در این بخش از آموزش بر خلاف آموزش پیشین که تنها یک متغیر را در شرط دخیل کردیم، دو متغیر را با یکدیگر مورد بررسی قرار دهیم. برای همین منظور پروژه ای جدید در محیط اکلیپس تحت عنوان IfElse ایجاد کرده سپس کلاسی تحت عنوان ElseIfClass در آن می سازیم.

در ادامه، دو متغیر از جنس int در کلاس خود تحت عناوین suv و bus با مقادیر به ترتیب 4 و 40 ایجاد می کنیم. در حقیقت مقادیر 4 و 40 به عنوان ظرفیت مسافر در نظر گرفته می شوند. کد ما می بایست به شکل زیر باشد:

public class ElseIfClass {      public static void main(String[] args) {  	int suv = 4, bus = 40;      }  }  

اگر توجه کرده باشید به منظور خلاصه نویسی هر دو متغیر int را در هم ادغام نموده ایم (لازم به ذکر است که واژه suv مخفف واژه Sport and Utility Vehicle به معنی ماشین شاسی بلند مثل جیپ بوده و واژه bus هم به معنی اتوبوس می باشد.) سپس در برنامه خود می خواهیم ظرفیت مسافر این دو وسیله نقلیه را با یکدیگر مقایسه کنیم، از این رو کد فوق را به صورت زیر تکمیل می کنیم:

public class ElseIfClass {      public static void main(String[] args) {  	int suv = 4, bus = 40;  	if (suv < bus) {  	    System.out.println("An SUV has less capacity.");  	}      }  }  

در کد فوق، در دو پرانتز قرار گرفته مقابل کلید واژه ی if ، ما دو متغیر suv و bus را با یکدگیر مقایسه می کنیم و از سوی دیگر این دستور را به کامپیوتر می دهیم که اگر مقدار suv کمتر از مقدار bus بود جمله An SUV has less capacity. به معنی یک ماشین شاسی بلند دارای ظرفیت کمتری است. را در کنسول نمایش دهد. خروجی برنامه فوق به شکل زیر خواهد بود:

زمان هایی در برنامه نویسی برای ما پیش خواهد آمد که بخواهیم به کامپیوتر دستور دهیم که اگر جواب شرط ما true بود یک کار را انجام دهد و در غیر این صورت کار دیگری را انجام دهد که در این صورت از دستور else استفاده می کنیم. برای روشن تر شدن این مطلب، مثال فوق را حذف کرده و کد جدید را به شکل زیر وارد سورس کد خود می کنیم:

public class ElseIfClass {      public static void main(String[] args) {          int boy = 18;          if (boy >= 18) {              System.out.println("You can enter.");  	} else {  	    System.out.println("Sorry, you are too young!");  	}      }  }  

در این کد، ما یک متغیر تحت عنوان boy به معنی پسر داریم که دارای مقدار 18 است (در اینجا منظور 18 سال است). در داخل دو پرانتز که می بایست شرط خود را در آن تعریف کنیم، شرط کرده ایم که اگر این پسر 18 ساله بود و یا بیش از 18 سال داشت جمله ی .You can enter به معنی شما می توانید وارد شوید نمایش داده شود. چیزی که در مثال فوق جدید است استفاده از ساختار else است. در واقع در این ساختار ما به برنامه دستور می دهیم که اگر جواب شرط true بود جمله ی .You can enter نمایش داده شود و اگر جواب شرط false بود برنامه دستوری را اجرا کند که داخل دو علامت { } مقابل else قرار گرفته است که در اینجا جمله ی !Sorry, you are too young به معنی متأسفیم، شما خیلی جوان هستید! نمایش داده خواهد شد. حال به بررسی خروجی برنامه در هر دو حالت خواهیم پرداخت.

در واقع کد جدیدی که نوشتیم خروجی فوق را در بر خواهد داشت. به طور خلاصه، برنامه چک می کند که آیا مقدار متغیر boy معادل با و یا بزرگتر از 18 است یا خیر. اگر پاسخ به این بررسی true بود جمله ی .You can enter نمایش داده می شود. حال تغییری در متغیر خود ایجاد می کنیم تا دستور داخل else ایجاد شود. برای این منظور مقدار اختصاص داده شده به متغیر boy را به 13 کاهش داده سپس برنامه را مجدد اجرا می کنیم. کد تغییر یافته به شکل زیر خواهد بود:

public class ElseIfClass {      public static void main(String[] args) {          int boy = 13;          if (boy >= 18) {              System.out.println("You can enter.");          } else {  	    System.out.println("Sorry, you are too young!");          }      }  }  

خروجی برنامه به شکل زیر خواهد بود:

در واقع در این حالت، برنامه نوشته شده بررسی می کند که آیا مقدار متغیر boy برابر با یا بزرگتر از 18 می باشد یا خیر که در اینجا جواب به این شرط false است. پس برنامه به سراغ بخش else می رود و هر دستوری را که در آن نوشته ایم را اجرا خواهد کرد که در اینجا چاپ جمله ی !Sorry, you are too young می باشد.

به عنوان راه کاری جایگزین می توانیم از ساختاری استفاده کنیم که تنها با قرار دادن یک علامت سوال در کد خود، کار هر دو دستور if و همچین else را انجام دهیم. برای روشن تر شدن این نکته، کد خود را به شکل زیر بازنویسی می کنیم:

public class ElseIfClass {      public static void main(String[] args) {          int boy = 18;          System.out.println(boy >= 18 ? "You can enter." : "Sorry, you are too young!");      }  }  

در واقع همان طور که برای نمایش دادن جمله ای آن را داخل پرانتز داخل دستور ;()System.out.println می نویسیم، حال می توانیم شرط خود را داخل پرانتز نوشته و بلافاصله پس از آن یک علامت ? قرار دهیم. سپس همان طور که می خواهیم یک جمله را داخل دستور ;()System.out.println نمایش دهیم، جمله خود که می خواهیم در صورت true بودن جواب شرط به نمایش درآید را داخل دو علامت ” ” پس از علامت ? می نویسیم و یک علامت : قرار داده و پس از علامت : جمله دوم را که در صورت false بود جواب شرط می خواهیم به نمایش در آید را داخل دو علامت ” ” می نویسیم. حال پس از اجرای کد فوق، خروجی زیر مشاهده خواهد شد:

در این حالت از آنجا که مقدار متغیر boy مساوی با 18 است جمله اول در بخش کنسول به نمایش در می آید چرا که این جمله مرتبط با پاسخ true است. حال مقدار متغیر boy را به 17 کاهش می دهیم و کد خود را به شکل زیر بازنویسی می کنیم:

public class ElseIfClass {      public static void main(String[] args) {          int boy = 17;          System.out.println(boy >= 18 ? "You can enter." : "Sorry, you are too young!");      }  }  

در واقع از آنجا که مقدار متغیر boy از مقدار تعیین شده در شرط کمتر است جمله دوم که پس از علامت : قرار گرفته است به نمایش در خواهد آمد چرا که پاسخ به شرط ما false است. در چنین حالتی، خروجی برنامه به شکل زیر خواهد بود:

در واقع چنانچه بخواهیم مقایسه ای مابین این ساختار و ساختار if و else داشته باشیم می توانیم بگوییم که در این ساختار جمله اول همانند دستوری است که مابین دو علامت { } پس از if می آید و جمله دوم همانند دستوری است که مابین دو علامت { } پس از دستور else می آید.

در آموزش آتی با اصطلاح Nested If Statement آشنا خواهیم شد. در واقع این اصطلاح به زمانی اطلاق می شود که ما چندین شرط if را داخل یکدیگر قرار می دهیم. علاوه بر این، مواردی همچون Else if و مورد بررسی قرار دادن چندین شرط در یک دستور if نیز مورد بررسی قرار خواهند گرفت.

دانلود فایل‌های تمرین

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

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