تهران - اسلامشهر

Tumblr

دپارتمان آموزش

آموزش جاوا - جلسه پنجم - حلقه تکرار

حلقه تکرار


دو مدل حلقه تکرار در جاوا داریم, for و while.

For

حلقه تکرار For شامل سه قسمت می باشد :

for (int i = 0; i < 3; i++) {}

قسمت اول فقط یکبار اجرا خواهد شد

قسمت دوم حلقه جایی است که ما شرط را در آن می نویسیم, اگر مقدار بازگردانده شده  true بود , جملات دستوری حلقه تکرار اجرا خواهند شد, اگر مقدار بازگردانده شده  false بود, از حلقه تکرار خارج خواهد شد. این شرط بعد از اجرای قسمت اول حلقه تکرار اجرا خواهد شد, سپس هر بار که حلقه تکرار اجرا شود و به پایان برسد یکبار اجرا خواهد شد و شرط مورد نظر بررسی خواهد شد.

قسمت سوم حلقه تکرار آخرین قسمت آن خواهد بود و هر بار که حلقه تکرار اجرا می شود و به پایان می رسد یکبار اجرا خواهد شد.

در این مثال ما حلقه تکراری داریم که سه بار اجرا خواهد شد:

int i = 0;
i < 3 // 0 < 3 = true
      // Inside of loop
i++ // i is now 1
i < 3 // 1 < 3 = true
      // Inside of loop
i++ // i is now 2
i < 3 // 2 < 3 = true
      // Inside of loop
i++ // i is now 3
i < 3 // 3 < 3 = false
      // Loop is done...

ما می توانیم قسمت اول و آخر حلقه تکرار را ننویسیم (هرچند عجیب و غریب خواهد بود), و حلقه تکرار همچنان کار می کند:

for (;i < 5;) {}

برای مواقعی که شبیه به این از حلقه تکرار  while استفاده می کنیم

While

مدل نوشتاری (Syntax) آن خیلی شبیه به حلقه تکرار قبلی است:

while (شرط) {}

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

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

do {

} while(شرط);

در پایان نیز سمی کالن قرار می دهیم.

Foreach

مدل دیگر از حلقه for به این صورت می باشد. ولی همچنان آنرا for صدا میزنیم,اما زمانی که ما می خواهیم بر روی عناصر درون یک آرایه کار کنیم، می توانیم به سادگی از آن استفاده کنیم:

int[] arr = {2, 0, 1, 3};
for (int el : arr) {
    System.out.println(el);
}

این یک نسخه کوتاه و معادل آن است:

int[] arr = {1, 9, 9, 5};
for (int i = 0; i < arr.length; i++) {
    int el = arr[i];
    System.out.println(el);
}

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

break و continue

این دو کلیدواژه به ما کمک می کند از داخل حلقه تکرار آن را کنترل کنیم. break حلقه تکرار را متوقف می کند و به پایان دستورات انتقال می دهد:

int i;
for (i = 0; i < 5; i++) {
    if (i >= 2) {
        break;
    }
    System.out.println("Yuhu");
}
System.out.println(i);
// Output:
// Yuhu
// Yuhu
// 2

continue یک بار اجرای دستورات داخل حلقه تکرار را رد خواهد کرد. سپس مجدداً از ابتدا دستورات حلقه اجرا خواهد شد.

int i;
for (i = 0; i < 5; i++) {
    if (i >= 3) {
        break;
    }
    System.out.println("Yuhu");
    if (i >= 1) {
        continue;
    }
    System.out.println("Tata");
}
System.out.println(i);
// Output
// Yuhu
// Tata
// Yuhu
// Yuhu
// 3

تمرین

با حلقه تکرار برنامه ای بنویسید که اعداد زوج را نمایش دهد, شروع حلقه از ورودی دریافت شود. اعداد بعد از 237 نمایش داده نشود.


نظر دادن

ما را دنبال کنید

خبرنامه تکتا

راه های ارتباطی

تلفن تماس: 09353184127 - 09112936370

پست الکترونیک : info@taktagroup.ir