جاوا از ابتدا، بخش چهاردهم 5/5 (1)

0
374

Switch ها در جاوا

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

switch (متغیر برای تست){
case مقدار:
کد اینجا نوشته می شود
break;
case مقدار:
کد اینجا نوشته می شود
break;
default:
کد برای مقادیری که در بالا ننوشتیم
}

پس با نوشتن کلمه switch شروع می کنیم، و در مقابل آن پرانتز باز و بسته می گذاریم. متغیری را که می خواهیم بررسی کنیم، درون پرانتزها قرار می گیرد. سپس از براکت باز و بسته استفاده شده، که دیگر تمام بخش های switch در میان این دو براکت نوشته می شود. برای هر مقداری که می خواهیم بررسی شود، نیاز به نوشتن واژه case داریم. و بعد از آن مقدار مورد نظر را می نویسیم:

case مقدار:

بعد از case و مقدار، دونقطه قرار می گیرد سپس در خط بعد هر آنچه که می خواهیم اتفاق بیفتد در صورتی که متغیر ما آن مقدار را داشت، می نویسیم. این کدی است که اجرا می شود در صورتی که مقدار نوشته شده در آن قسمت با مقدار درون متغیری که در میان پرانتز نوشتید یکی باشد. کلمه کلیدی break  باید در انتهای هر case در switch نوشته شود. واژه default در انتها یک واژه اختیاری است و به این منظور استفاده می شود که اگر هیچ کدام از مقادیر در case ها با متغیر برابر نبود، کد نوشته شده در قسمت default اجرا شود.

اگر هنوز به خوبی متوجه نشده اید، یک پروژه جدید ایجاد کنید یا کد پروژه قبلی را کامنت کنید  تا با هم یک نمونه کد ساده را امتحان کنیم. برای کامنت کردن کد، یک راه سریع وجود دارد. در نوار ابزار( toolbar) بالای Netbeans، یک نماد کامنت وجود دارد. زمانی که تکه ای از کد را انتخاب کنید و سپس روی این نماد کلیک کنید، آن قسمت از کد به کامنت تبدیل می شود:

 

comment_icon

و اما کد :

switch_statement

اولین کاری که کد انجام می دهد، مقدار دهی اولیه به user است، که متغیری integer است. مقدار ۱۸ را به این متغیر داده ایم. switch، در ابتدا چک می کند که چه مقداری درون user، ذخیره شده است. سپس به نوبت به درون case ها رفته و تا یافتن case ای که مقدارش با user همخوانی دارد ادامه می دهد. هنگامی که case مورد نظر را بیابد، متوقف می شود تا کد مربوط به آن case را اجرا کند و سپس از switch خارج می شود. برنامه را اجرا کنید و نتایج را ببینید و سپس به user مقادیر مختلف داده و نتایج را به ازای مقادیری که دادید مشاهده کنید. توجه داشته باشید که درون switch نمی توان در هر case یک محدوده از مقادیر را امتحان کرد و فقط می توان در هر case یک مقدار نوشت. یعنی نوشتن کدی مانند زیر غیر ممکن است:

case (user <= 18);

اما می توان اینگونه نوشت:

case 1: case 2: case 3: case 4:

خط بالا محدوده اعداد یک تا چهار را امتحان می کند، یعنی اگر یکی از اعداد ۱ تا ۴ برابر مقدار user باشد تکه کد مربوط به خط بالا اجرا خواهد شد، اما همانطور که می بینید تمامی اعداد ۱ تا ۴ تک تک نوشته شده اند.(به قرار گرفتن دونقطه ها و مقادیر دقت کنید.)

تمرین برای کل بخش ها تا به اینجا

برنامه ای بنویسید که بتواند از کاربر ورودی دریافت کند. برنامه باید از کاربر یک عدد دریافت کند و سپس محدوده اعداد ۰ تا ۱۰، ۱۱ تا ۲۰، ۲۱ تا ۳۰ و ۳۰ به بالا را امتحان کرده و یک پیام در پنجره خروجی با قالب زیر نمایش دهد:

userAge + "is between 21 and 30"

پس اگر برای مثال کاربر عدد ۲۷ را وارد کرد، پنجره خروجی باید مانند زیر باشد:

age_exercise_output

اگر سن کاربر ۳۰ یا بالاتر است شما می توانید فقط پیغام زیر را چاپ کنید:

"You are 30 or over"

یادآوری: برای دریافت string از کاربر اینگونه عمل می کردیم:

String age = userInput.next();

اما متد ()next برای کار با string هاست. شما از کاربر ورودی integer باید دریافت کنید، پس نمی توانید از ()next استفاده کنید. بنابر این از متد مشابه دیگری استفاده می کنیم به نام ()nextInt استفاده می کنیم.

تمرین

برای بررسی این که یک رشته با رشته دیگر برابر است یا نه می توان از متد equals استفاده کرد.

String userName="Bill";
if ( userName.equals("Bill") ){
عملی در این قسمت انجام شود
}

در کد بالا، یک متغیر رشته تعریف کردیم و به آن مقدار اولیه دادیم. در میان دو پرانتز IF دوباره نام متغیر را نوشتیم و بعد از آن نقطه گذاشته و سپس equals را نوشته و در میان دو پرانتز مقابل آن رشته ای را که می خواهیم با متغیر مقایسه کنیم را نوشتیم. توجه کنید که هنگام بررسی دو رشته، حروف بزرگ و کوچک با هم تفاوت دارند. یعنی رشته “bill” با رشته “Bill” برابر نیستند.

برای تمرین، یک برنامه بنویسید که از کاربر بخواهد که یکی از چهار رنگ black، white، red یا blue را انتخاب کند. از IF… ELSE IF برای نمایش یکی از پیام های زیر بنا به انتخاب کاربر استفاده کنید.

BLACK “You must be a Goth!”
WHITE “You are a very pure person”
RED “You are fun and outgoing”
BLUE “You’re not a Chelsea fan, are you?”

وقتی برنامه را اجرا کنید و مراحل اجرا طی شود، خروجی باید به شکل زیر باشد:

colour_exercise_output

در بخش بعد با حلقه ها ادامه خواهیم داد…

به این مطلب امتیاز بدهید

ارسال یک پاسخ

لطفا دیدگاه خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید