بک لینک

به کار گیری متغیر char در دستور switch در قالب پروژه خرید آنلاین

java
به نام خدا
آموزش نوزدهم
در این قسمت از آموزش نیاز است تا عملکرد دستور ;break را توضیح دهیم. برای شروع کار
پروژه ای که در جلسه هجدهم تکمیل کردیم را باز می کنیم. در این مرحله کد ما می بایست به
شکل زیر باشد:
import java.util.Scanner;
public class BreakStatement {
public static void main(String[] args) {
Scanner keyboardInput = new Scanner(System.in);
System.out.print(“Please enter the number of your birth month: “);
int monthNumber = keyboardInput.nextInt();
switch (monthNumber) {
case 1 :
System.out.println(“You were born in Farvardin.”);
break;
case 2 :
System.out.println(“You were born in Ordibehesht.”);
break;
case 3 :
System.out.println(“You were born in Khordad.”);
break;
case 4 :
System.out.println(“You were born in Tir.”);
break;
case 5 :
System.out.println(“You were born in Mordad.”);
break;
case 6 :
System.out.println(“You were born in Shahrivar.”);
break;
case 7 :
System.out.println(“You were born in Mehr.”);
break;
case 8 :
System.out.println(“You were born in Aban.”);
break;
case 9 :
System.out.println(“You were born in Azar.”);
break;
case 10 :
System.out.println(“You were born in Day.”);
break;
case 11 :
System.out.println(“You were born in Bahman.”);
break;
case 12 :
System.out.println(“You were born in Esfand.”);
break; } }
در واقع پس از وارد کردن عددی در بخش Console و زدن دکمه Enter این داده ورودی
وارد برنامه می شود و از طریق کالس Scanner در متغیر int که ایجاد کردیم و نام آن را
monthNumber گذاشتیم ذخیره می شود. سپس متغیر خود را در دستور switch فرا می
خوانیم. در اولین فاز، دستور switch می سنجد که ببیند آیا داده متغیرش معادل با case 1 می
باشد یا خیر. چنانچه معادل با عدد یک بود در این مرحله شرط موجود در case 1 که دستور
را باشد می System.out.println(“You were born in Farvardin.”);
انجام می دهد. به محض اینکه این دستور انجام شد، دستور break به برنامه می گوید که دیگر
نیازی به اجرای دستورات بعدی نبوده و بالفاصله می بایست برود به آخر برنامه.
حال فرض کنیم که عدد ورودی 7 است. در این صورت برنامه اول به سراغ اولین شرط می رود و
مشاهده می کند که عدد 7 با case 1 مطابقت ندارد پس دستور break از برنامه می خواهد که
به سراغ دومین شرط برود و باز هم می بیند که نیازش برآورده نمی شود و این کار آنقدر تکرار
می شود تا به مورد هفتم می رسد. در این مرحله برنامه می بیند که تطبیق صورت گرفت پس
دستور break برنامه ما را وادار می سازد تا مابقی شروط را نادیده گرفته و مستقیماً به آخر برنامه
برود. حال ببینیم که اگر دستورات break را نداشته باشیم چه اتفاقی خواهد افتاد!
برای همین منظور می توانیم یا کلیه دستورات break را به صورت Comment در آوریم و یا
از برنامه حذف کنیم که در اینجا مورد اول منطقی تر به نظر می رسد که در این صورت کد ما به
شکل زیر در خواهد آمد:
import java.util.Scanner;
public class MySwitchClass {
public static void main(String[] args) {
Scanner keyboardInput = new Scanner(System.in);
System.out.print(“Please enter the number of your birth month: “);
int monthNumber = keyboardInput.nextInt();
switch (monthNumber) {
case 1 :
System.out.println(“You were born in Farvardin.”);
// break;
case 2 :
System.out.println(“You were born in Ordibehesht.”);
// break;
case 3 :
System.out.println(“You were born in Khordad.”);
// break;
case 4 :
System.out.println(“You were born in Tir.”);
// break;
case 5 :
System.out.println(“You were born in Mordad.”);
// break;
case 6 :
System.out.println(“You were born in Shahrivar.”);
// break;
case 7 :
System.out.println(“You were born in Mehr.”);
// break;
case 8 :
System.out.println(“You were born in Aban.”);
// break;
case 9 :
System.out.println(“You were born in Azar.”);
// break;
case 10 :
System.out.println(“You were born in Day.”);
// break;
case 11 :
System.out.println(“You were born in Bahman.”);
// break;
case 12 :
System.out.println(“You were born in Esfand.”);
// break; } }
همانطور که در آموزش های پیشین توضیح داده شد برای Comment کردن بخشی از کد می
توان نشانگر موس را روی خط مد نظر قرار دادن و دکمه کنترل را به همراه عالمت / فشار می
دهیم. در این مرحله مجدداً برنامه را اجرا می کنیم و عددی دلخواه را از میان 1 تا 11 وارد می
سازیم و نتیجه ای عجیب مشابه تصویر زیر خواهیم دید:
در واقع بدون حضور دستورات break برنامه هیچ مانعی بر سر راه خود برای اجرای کلیه
دستورات نخواهد دید و آن ها را یکی پس از دیگری اجرا خواهد کرد مگر آنکه عدد 11 وارد
شود. در حقیقت از آنجا که پس از case 12 دستور دیگری وجود ندارد برنامه ما فقط و فقط
همان دستور را به نمایش در خواهد آورد و یا اگر عدد ورودی ما 11 باشد، برنامه مستقیماً به سراغ
case 10 می رود و پس از اجرای آن و کلیه دستورات پس از آن که case 11 و case 12
می باشند به اتمام خواهد رسید و نتیجه ای مشابه تصویر زیر ارائه خواهد کرد:
حال که با اهمیت دستور break آشنا شدیم می توانیم مجدداً با قرار دادن نشانگر موس خود
روی خطوطی که این دستور در آن نوشته شده و فشردن هم زمان کلید های کنترل و عالمت /
آن ها را از حالت Comment بیرون در آوریم.
نکته پایانی این قسمت از آموزش به بررسی این نکته می پردازد که زمان هایی ممکن است اتفاق
افتد که کاربر به طور اشتباه عددی به غیر از 1 تا 11 را وارد می سازد مثالً عدد 11 که در این
صورت پس از اجرای برنامه خروجی زیر را خواهیم دید:
در حقیقت از آنجا که هیچ گونه شرطی برای ورودی هایی به غیر از 1 تا 11 تعریف نکرده ایم،
برنامه ما چیزی برای ارائه کردن در دست ندارد. برای رفع این مشکل می بایست از دستور
default استفاده کنیم. در واقع این دستور حاکی از آن است که هر آنچه که به غیر از شروط
case 1 تا case 12 وارد برنامه شد، می بایست شرط default اجرا شود. حال به تکمیل کد
خود می پردازیم تا به برنامه دستور دهیم که اگر کاربری عددی به غیر از 1 تا 11 انتخاب کرد،
جمله !You made a mistake boy را به معنی “پسر اشتباه کردی!” را نمایش دهد.
برای همین منظور کد خود را به شکل زیر تکمیل می کنیم:دوره آموزش جاوا
کلیه حقوق متعلق به وب سایت نردبان است.
مدرس: بهزاد مرادی
Page8
import java.util.Scanner;
public class MySwitchClass {
public static void main(String[] args) {
Scanner keyboardInput = new Scanner(System.in);
System.out.print(“Please enter the number of your birth month: “);
int monthNumber = keyboardInput.nextInt();
switch (monthNumber) {
case 1 :
System.out.println(“You were born in Farvardin.”);
break;
case 2 :
System.out.println(“You were born in Ordibehesht.”);
break;
case 3 :
System.out.println(“You were born in Khordad.”);
break;
case 4 :
System.out.println(“You were born in Tir.”);
break;
case 5 :
System.out.println(“You were born in Mordad.”);
break;
case 6 :
System.out.println(“You were born in Shahrivar.”);
break;
case 7 :
System.out.println(“You were born in Mehr.”);
break;
case 8 :
System.out.println(“You were born in Aban.”);
break;
case 9 :
System.out.println(“You were born in Azar.”);
break;
case 10 :
System.out.println(“You were born in Day.”);
break;
case 11 :
System.out.println(“You were born in Bahman.”);
break;
case 12 :
System.out.println(“You were born in Esfand.”);
break;
default:
System.out.println(“You made a mistake boy!”);
حال پس از اجرای برنامه و وارد کردن عددی به غیر از اعداد 1 تا 11 برنامه ما به درستی کار
کرده و به ما اخطار خواهد داد:
در پایان این قسمت از آموزش به برنامه نویسان مبتدی پیشنهاد می شود تا حد ممکن از Copy
کردن کدها از داخل آموزش خودداری نموده و سعی کنند خود کد ها را در محیط اکلیپس
بنویسند چرا که با این کار هم می توانند مهارت سریع تایپ کردن خود را بهبود بخشیده و در
ضمن راحت تر خواهند توانست به منطق پشت هر خط از کد پی ببرند زیرا در حین کدنویسی
حتماً می بایست در مورد کاری که انجام می دهیم فکر کنیم که در غیر این صورت ممکن است
بیشتر مرتکب اشتباه شویم.
در آموزش قسمت بیستم با نحوه به کار گیری متغیر char در دستور switch در قالب پروژه
خرید آنالین آشنا خواهیم شد.

منبع:وب سایت نردبان

مدرس:بهزاد مرادی

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

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