ساختارهای تصمیم
اگر بخواهیم تحت شرایطی، تعدادی از دستورات اجرا شوند و یا تعداد دیگری از دستورات اجرا نشوند ، باید از ساختارهای تصمیم استفاده میکنیم. این ساختارها، شرطی را تست کرده و در صورت درست بودن شرط، مجموعه ای از دستورات اجرا میشوند. ساختارهای تصمیم که در اندروید وجود دارند عبارتند از: if وandroid Decision Structures switch
♦ ساختار تصمیم if
این ساختار ، شرطی را تست میکند و در صورتیکه آن شرط دارای ارزش درستی باشد، مجموعه ای از دستورات را اجرا میکند. کاربرد دستور if بصورت زیر است:
روش اول: android Decision Structures
1 2 3 4 5 6 7 | if (شرط) { دستور 1; else دستور2; |
روش دوم: android Decision Structures
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | if (شرط) { دستور1; دستور2; ... nدستور; } else { دستور1; دستور2; ... nدستور; } |
♦ ساختار if تودرتو android Decision Structures
اگر بخواهیم از دستور if برای تست شرط های متعددی استفاده کنیم، باید آنها را بصورت تودر تو بکار ببریم. کاربرد if بصورت تودرتو نه تنها موجب طولانی شدن برنامه میشود، بلکه از خوانایی برنامه نیز میکاهد. ساختار else if میتواند به جای if های تودرتو بکار رود و میزان خوانایی برنامه را بالا ببرد. در این ساختار ، اگر شرط ۱ دارای ارزش درستی باشد، دستور ۱ اجرا خواهد شد و کنترل برنامه به دستور بعد از دستور else انتقال می یابد و در غیر این صورت این روند ادامه می یابد. چنانچه هیچ یک از شرط ها دارای ارزش درستی نباشند، دستور else اجرا خواهد شد:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | if (شرط) دستور 1; else if (شرط2) دستور2; else if (شرط3) دستور3; ... else if (nشرط) nدستور; else else دستور; |
♦ ساختار تصمیم switch
ساختار switch یکی از ساختارهای جالب و مهم است. از این ساختار برای تصمیم گیری های چندگانه براساس مقادیر مختلف یک عبارت، استفاده میشود. بطور کلی در تمام تصمیم گیری هایی که بیش از سه انتخاب وجود دارد، بهتر است از ساختار switch استفاده شود. این ساختار بصورت زیر بکار میرود:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | switch (عبارت){ case <مقدار1>: <دستورات1> break; case <مقدار2>: <دستورات2> break; . ... default: break; } |
انتقال کنترل غیر شرطی : android Decision Structures
دستور if شرطی را بررسی کرده ، بر اساس نتیجه شرط دستورالعمل هایی را انجام میدهد. در اندروید دستورالعمل هایی وجود دارند که بدون تست شرط میتوانند کنترل اجرای برنامه را از نقطه ای به نقطه دیگرمنتقل کنند. این دستورات را انتقال کنترل غیر شرطی گویند. android Decision Structures
• دستور break
این دستور موجب خروج از حلقه های تکرار میشود. اگر چند حلقه تودرتو وجود داشته باشد، این دستور موجب خروج از داخلی ترین حلقه تکرار میشود. کاربرد دیگر این دستور، خاتمه دادن به ساختار switch است. android Decision Structures
• دستور continue
این دستور در حلقه تکرار موجب انتقال کنترل به ابتدای حلقه میشود. پس از انتقال کنترل به ابتدای حلقه، شرط حلقه مورد بررسی قرار میگیرد، چنانچه شرط درست باشد، اجرای دستورات حلقه پایان میابد وگرنه حلقه تکرار خاتمه میابد. android Decision Structures
• دستور goto
این دستور معمولا به ندرت استفاده میشود، و سبب انتقال کنترل از نقطه ای به نقطه دیگر از برنامه میشود. روش کاربرد این دستور بصورت زیر است. برچسب دستور همانند متغیرها نامگذاری میشود و به کولن (:) ختم میگردد. android Decision Structures