ساختار تصمیم switch:


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

  • ابتدا عبارت مقابل switch به مقدار صحیح ارزیابی می شود و مقدار آن تعیین می شود.
  • اگر مقدار عبارت برابر با <مقدار 1> باشد <دستورات 1> اجرا می شوند و اجرای دستورات تا رسیدن به break ادامه خواهد یاقت.
  • دستور break اجرای برنامه را از ساختار switch خارج می سازد.
  • در صورتی که مقدار غبارت با <مقدار 1> برابر نباشد با <مقدار 2> مقایسه می شود و همین روند ادامه می یابد.
  • تا زمانی که مقدار عبارت برابر با یکی از مقادیر نباشد عمل مقایسه ادامه می یابد.
  • اگر مقدار عبارت با هیچ کدام از مقادیر برابر نباشد , دستورات بخش default به اجرا در می آید.

نکته:

  • ساختار switch می تواند فاقد بخش default باشد.در این صورت اگر مقدار عبارت با هیچ یک از مقادیر برابر نباشد , هیچ کدام از دستورات داخل switch اجرا نخواهد شد.
  • مقادیر موجود در case ها نمی توانند با هم مساوی باشند. یعنی هیچ کدام از مقادیر <مقدار 1> , <مقدار 2> و….نباید مساوی باشند.
  • اگر در یک case از دستور break استفاده نشود , با case بعدی or می شود.برای اینکه دو یا چند شرط را در ساختار switch با همدیگر or کنیم , آن ها را بدون break پشت سر هم می نویسیم.
  • یکی از تفاوت های if و switch در این است که در ساختار if می توان عبارت منطقی یا رابطه ای را مورد بررسی قرار داد ولی در ساختار switch فقط مساوی بودن مقادیر مورد بررسی قرار می گیرد.
  • چند ساختار switch را می توان به صورت تودرتو مورد استفاده قرار داد.
2 پاسخ
  1. یاشار
    یاشار گفته:

    من مشکلم آینه که هر کاری میکنم بازم داخل دیفالت رو پرینت میکنه حتی دقیقا همین مثال بالا رو کپی کردم فقط تعداد عددا رو سه تا کردم بازم دیفالت میاد

    پاسخ
    • ساسان
      ساسان گفته:

      دراخر هر شرط باید break بذارید.اگه break نذاشته باشین در اخر default هم انجام میشود.

      پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

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

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

© کپی رایت - www.irccode.ir