آموزش برنامه نویسی و طراحی وب


این مقاله جز یک گروه آموزشی می باشد. لیست آموزش ها در زیر هستند

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

مقدمات زبان جاوا قسمت 1
مقدمات زبان جاوا
آماده سازی محیط برنامه نویسی و اجرای برنامه‌های جاوا قسمت 2
آماده سازی محیط برنامه نویسی و اجرای برنامه‌های جاوا
انواع داده‌ها در جاوا Data type قسمت 3
انواع داده‌ها در جاوا Data type
عملگر ها در جاوا operator قسمت 4
عملگر ها در جاوا operator
عبارات یا expression ها در جاوا قسمت 5
عبارات یا expression ها در جاوا
متغییر های نوع داده اولیه و متغییر های مرجع قسمت 6
متغییر های نوع داده اولیه و متغییر های مرجع
متغییر ها و ثوابت در جاوا قسمت 7
متغییر ها و ثوابت در جاوا
ساختار های کنترلی در جاوا قسمت 8
ساختار های کنترلی در جاوا
متد بازگشتی در جاوا قسمت 9
متد بازگشتی در جاوا
کلاس ها در جاوا قسمت 10
کلاس ها در جاوا
نمونه سازی کلاس و ایجاد متغییر مرجع قسمت 11
نمونه سازی کلاس و ایجاد متغییر مرجع
سازنده ها در جاوا قسمت 12
سازنده ها در جاوا
اشاره گر this قسمت 13
اشاره گر this
معرفی چند کلاس کاربردی جاوا قسمت 14
معرفی چند کلاس کاربردی جاوا
آرایه چیست قسمت 15
آرایه چیست
ساختار های کنترلی در جاوا

it3du  
2016-10-18 23:17:01  
1563  
java  

ساختار های کنترلی در جاوا

 

حلقه های for، while، do while، switch و حلقه های تو در تو در جاوا

 

ساختار های کنترلی در جاوا

در حالت عادی دستورات برنامه از اولین دستور به آخرین دستور اجرا می شوند.

اگر بخواهیم بعضی از دستورات چندین بار و بعضی دیگر از دستورات اصلا اجرا نشوند از ساختار های کنترلی یا control structure استفاده می کنیم.

 

ساختار های کنترلی دو دسته اند:

ساختار های تصمیم selection structure

ساختار های تکرار loop structure

 

به طور کلی می توان گفت کامپیوتر به چهار طریق می تواند دستورات را پردازش کند.

به طور ترتیبی ، از اولین دستور تا آخرین دستور.

انتخاب یک یا چند مسیر اجرا با استفاده از ساختار های تصمیم.

تکرار مجموعه ایی از دستورات با استفاده از ساختار های تکرار.

فرخوانی متد ( در ادامه بحث خواهد شد ) 

 

ساختار های تکرار

ساختار های تکرار تحت شرایط خاصی یک یا چند دستور را چندین بار اجرا می کند. در بسیاری از برنامه های کامپیوتری نیاز به تکرار مجموعه ای از دستورات است. برای تکرار اجرای دستورات از ساختار های تکرار استفاده می شود.

مثال: برای خواندن 100 عدد از ورودی و محاسبه میانگین آن ها باید 100 بار عمل خواندن ورودی تکرار شود و در آخر میانگین آنها محاسبه شود.

ساختار های تکرار که در جاوا مورد استفاده قرار می گیرند عبارت اند از :

 

 for

while

do ... while

 

ساختار تکرار for

 این ساختار یکی از امکانات ایجاد حلقه است. در حالتی به کار می رود که تعداد دفعات تکرار از قبل مشخص باشد. در این ساختار متغیری وجود دارد که تعداد دفعات تکرار حلقه را کنترل می کند. این متغیر را شمارنده حلقه یا اندیس حلقه تکرار می گویند. این متغیر می تواند یکی از انواع موجود در زبان جاوا باشد. میزان تغیر اندیس حلقه در هر بار اجرای حلقه را گام حرکت گویند. گام حرکت می تواند مثبت یا منفی و از هر نوعی باشد.

یکی دیگر از اجزای حلقه شرط حلقه است. شرط حلقه مشخص می کند که دستورات حلقه تکرار تا کی باید اجرا شوند. اگر این شرط ارزش درستی داشته باشد دستورات  داخل حلقه اجرا می شوند وگرنه کنترل برنامه از حلقه تکرار خارج می شود. دستور for به صورت زیر قابل استفاده است.

 

for(مقدار اولیه شمارنده; شرط حلقه; گام حرکت) {
    دستور 1;
    دستور 2;
    . . .
    دستور n;
}

 

 به مجموعه دستورات در آکولاد دستورات مرکب گویند.

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

 

for(مقدار اولیه شمارنده; شرط حلقه; گام حرکت) 
    دستور;

 

مثالی ساده برای آشنایی با نحوه کارکرد حلقه for :

 

for (int i = 0; i < 5; i++) {
    System.out,println(i);
}

 

متغیر i را با مقدار اولیه 0 تعریف کرده ایم. شرط حلقه این است که مقدار i باید از 5 کمتر باشد. اگر i کوچکتر از 5 باشد، دستورات داخل حلقه اجرا می شود و بعد از اجرا i++ که همان گام حرکت است انجام می گیرد و همین روال دوباره انجام می گیرد تا شرط حلقه نادرست شود و از حلقه بیرون بیاید.

خودت بنویس : برنامه ایی که کاراکتر های 'A' تا 'F' را به همراه کد آنها به خروجی می برد.

 

public class example_1 {
    public static void main(String[] args) {
        for(char ch = 'A'; ch <= 'F'; ch++)
            System.out.println(ch + " = " + (int) ch);
    }
}

 

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

 خودت بنویس : حلقه for برای چاپ اعداد 15.0 تا 18.0 با گام حرکت 0.5

 

public class example_2 {
    public static void main(String[] args) {
        for(float f = 15; f <= 18; f += 0.5) {
            System.out.println("f = " + f);
        }
    }
} 

 

حلقه های تو در تو for

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

 

for (int i = 0; i < 5; i++) {
    ...
    for(int j = 0; j < 10; j++) {
        ...
    }
     ...
}

 

حلقه تکرار خارجی 5 بار تکرار می شود. حلقه تکرار داخلی 10 بار اجرا می شود.

مجموع تکرار حلقه داخلی را می توان با توجه داشتن به این موضوع که در هر بار اجرای حلقه خارجی حلقه داخلی یک بار به طور کامل اجرا می شود، محاسبه کرد

 

5 * 10 = 50

 

ساختار تکرار while

 برای تکرار اجرای دستورات با داشتن شرط به کار می رود. نحوه استفاده آن به صورت زیر است

 

while (شرط) {
    دستور 1;
    دستور 2;
    . . .
    دستور n;
}

 

اگر تعداد دستورات حلقه یک باشد می توان بدون آکولاد نوشت.

نکات :

چنانچه شرط درست باشد، دستورات n تا 1 اجرا می شود.

شرط حلقه تکرار باید در بدنه حلقه، ارزش نادرستی پیدا کند تا از حلقه خارج شویم. وگرنه حلقه برای همیشه ادامه پیدا می کند. چنین حلقه ایی راحلقه بی نهایت گویند.

 

خودت بنویس : مثال قبلی را با استفاده از while پیاده سازی کن

 

public class example_3 {
    public static void main(String[] args) {
        float f = 15;
        while (f < 18.0) {
            System.out.println("f = " + f);
            f += 0.5;
        }
    }
} 

 

ساختار تکرار do ... while

این ساختار تکرار همانند while است. با این تفاوت که در ساختار while شرط حلقه در ابتدای حلقه تست می شود در حالی که در do ... while شرط حلقه در انتهای حلقه تست می شود و حداقل یک بار دستورات آن اجرا خواهد شد. یعنی در صورت درست نبودن شرط حلقه، حلقه do ... while یک بار دستورات را اجرا می کند. سینتکس استفاده از آن به شکل زیر است:

 

do {
    دستور 1;
    دستور 2;
    ...
    دستور n;
} while (شرط);

 

در صورت وجود یک دستور در بدنه do می توان از آکولاد باز و بسته استفاده نکرد.

مثال :

 

public class example_4 {
    public static void main(String[] args) {
       boolean b = true;
       int i = 0;
       do {
            i++;
            if (i < 5) {
                b = false;
            }
        }  while (b);
    }
} 

 

 توجه : در این مثال از ساختار تصمیم if استفاده شد که در ادامه این بحث به آن خواهیم پرداخت...

سوال : از کدام ساختار استفاده کنیم ؟؟

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

برای جاهایی که تعداد تکرار و گام ها مشخص است از for استفاده می کنیم.

در موارد دیگر و با توجه به تفاوت while و do .. while از آنها بسته به نیاز استفاده می کنیم.

 

ساختار های تصمیم selection structure

ساختار های تصمیم عبارت اند از :

 

if

if ... else

switch

 

اگر بخواهیم تحت شرایطی تعدادی از دستورات را اجرا کنیم یا تعدادی از دستورات را اجرا نکنیم، از این ساختار استفاده می شود.

 

ساختار تصمیم if

شرطی را تست می کند، در صورتی که شرط ارزش درستی داشته باشد مجموعه ای از دستورات را اجرا می کند. سینتکس آن به صورت زیر است :

 

if (شرط) {
    دستور 1;
    دستور 2;
    ...
    دستور n;
}

 

در این حالت شرط بررسی می شود و اگر درست باشد، دستورات داخل آکولاد اجرا می شوند در غیر اینصورت کاری انجام نمی شود. کد زیر را ببینید :

 

int i = 10;
if(i == 10)
    System.out.println(i);

 

در اینجا شرط موجود در if این است که آیا مقدار متغیر i برابر با مقدار 10 است یا خیر. چون مقدار i برابر با 10 است بنابراین دستور موجود در if اجرا می شود. اما اگر i برابر با 10 نبود آنگاه دستور موجود در بدنه if نادیده گرفته می شد.

حالت دیگری که می توان برای if در نظر گرفت به شکل زیر است:

 

if (شرط) {
    دستور 1;
    دستور 2;
    ...
    دستور n;
} else {
   دستور n1;
   دستور n2;
    ...
   دستور n;
}

 

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

 

int number = 5;
if (number < 10) {
    number += 10; // number = number + 10;
} else {
   number -= 10;
}

 

دستور break در جاوا

دستور break موجب خاتمه یافتن داخلی ترین حلقه تکرار می شود و کاربرد دیگر آن در ساختار switch است. کد زیر را ببینید :

 

for (int i = 0; i < 5; i++) {
    if(i == 3) {
        break;
    }
    System.out.println(i);
}

 

ساختار switch در جاوا

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

 

switch (عبارت) {
   case <مقدار 1>:
       دستور 1;
        break;
   case <مقدار 2>:
        دستور 2;
        break;
    case <مقدار 3>:
        دستور 3;
        break;
 
    . . .
 
    default:
        دستور n;
}

 

نکات:

ساختار switch می تواند فاقد بخش default باشد.

مقادیر case ها نمی توانند با هم برابر باشند.

اگر ثوابت کاراکتری در switch بررسی شوند، به مقادیر صحیح تبدیل می شوند.

چنانچه مقدار عبارت با هیچکدام از case ها برابر نبود، دستورات موجود در default اجرا می شوند.

در ساختار if می توان عبارت های منطقی یا رابطه ایی را بررسی نمود اما در switch فقط مساوی بودن بررسی می شود.

چند ساختار switch را می توان تو در تو مورد استفاده قرار داد.

اگر در یک case از دستور break استفاده نشود با مقدار case بعدی or می شود. بدین ترتیب می توان یک یا چند case را بدون قرار دادن break در آنها (به صورت پشته سر هم در case ها) به هم or کرد.

 

public class example_5 {
    public static void main(String[] args) {
       int code = 10;
       switch (code) {
            case 10 :
                System.out.println("code " + code + " ---> exit");
                break;
            case 20 :
                System.out.println("code " + code + " ---> restart");
                break;
            case 30 :
                System.out.println("code " + code + " ---> strat");
                break;
            default :
                System.out.println("code " + code + " ---> default");
       }
    }
} 

 

می توانید انتشار قسمت ها جدید آموزش برنامه نویسی و به روز رسانی های جدید سایت را از کانال تلگرام ما دنبال کنید  و یا از قسمت انتهایی سایت ، آدرس it3du را در سایر شبکه های اجتماعی پیدا کنید

 

منبع : it3du

 

به اشتراک بگذارید

فیس نما   فیس نما   فیس نما   فیس نما   فیس نما   فیس نما   فیس نما   کلوب   فیس نما  

مطالب مرتبط

مقدمات زبان جاوا

انواع داده‌ها در جاوا Data type

آماده سازی محیط برنامه نویسی و اجرای برنامه‌های جاوا

متد بازگشتی در جاوا

کلاس ها در جاوا

دیدگاه کاربران

دیدگاهی وجود ندارد


دیدگاهی ارسال کنید

  نظر شما پس از تایید نویسنده نمایش داده می شود

  نظرات به صورت فینگلیش تایید و جواب داده نمی شوند

  برای وارد کردن کد برنامه نویسی متن بالای تکست باکس را مطالعه فرمایید

  گزینه captcha برای تشخیص انسان از ربات را حتما قبل از ارسال انتخاب کنید

  ایمیل شما در سایت منتشر نمی شود

  پر کردن فیلد های ستاره دار الزامی می باشد

نام *
ایمیل *
وب سایت

استفاده از کد HTML مجاز نمی باشد

متن های انتخاب شده را می توانید با دکمه p به پاراگراف تبدیل کنید

برای وارد کردن کد برنامه نویسی ابتدا متن مورد نظرتان را انتخاب کنید و سپس زبان مورد نظر خودتان را از طریق دکمه ها انتخاب کنید

محتوای دیدگاه *
bold italic underline p
java css c php hypertext ruby python c# c++ javascript
خروجی کامنت