John Squirrels
مرحله
San Francisco

Java while Loop

در گروه منتشر شد
حلقه while تقریبا در هر زبان برنامه نویسی یافت می شود و جاوا نیز از این قاعده مستثنی نیست. در حالی که حلقه در جاوا و سایر زبان‌ها یک دستور یا بلوک از دستورات را تا زمانی که مقدار شرطی که آن را راه‌اندازی کرده درست باشد اجرا می‌کند. در این مقاله قصد داریم در مورد نحوه کار با حلقه while صحبت کنیم . Java while Loop - 1

چرخه ها برای چیست؟

اولین برنامه های شما دنباله ای از دستورالعمل ها بودند که گام به گام یکی پس از دیگری اجرا می شدند. بدون چنگال و تکرار. بعداً با کمک عملگرهای شرطی شروع به استفاده از شاخه ها کردیم. خوب، برای انجام اقدامات تکراری، چرخه هایی وجود دارد. شاید چرخه ها یکی از بارزترین مزایایی باشد که اتوماسیون پردازش برای برنامه نویسان تازه کار فراهم می کند. تصور کنید که باید یک برنامه ردیاب بنویسید که تعداد گام های برداشته شده در یک روز را شمارش کند. و زمانی که مثلاً 10000 مرحله را پشت سر می گذارید، برنامه باید یک اعلان در مورد هدف به دست آمده برای شما ارسال کند. وظیفه صدور اعلان را می توان با کلمات (یا شبه کد) مانند این بیان کرد:

While (number of steps less than 10,000)
{
Count steps
}

Send notification "you have reached the goal"
یعنی به محض برابر شدن تعداد مراحل با آنچه در شرط مشخص شده است، برنامه از این چرخه خارج شده و اعلان ارسال می کند. یا مثال دیگری. تصور کنید که باید یک شعر (یا سخنرانی) را حفظ کنید. اگر بتوانید سه بار پشت سر هم بدون نگاه کردن بخوانید شعری حفظی محسوب می شود. اگر برنامه‌ای را تصور کنید که تلاش‌های شما برای خواندن شعر را ضبط می‌کند، باید از یک حلقه نیز استفاده کند:

While (success < 3)
learn a poem
ساختارهای مشابه در تمام برنامه های آموزشی مدرن استفاده می شود، به عنوان مثال، در یادگیری زبان یا نواختن آلات موسیقی.

حلقه while و ساختار آن

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

while(condition == true) {
    // statement or loop body
}
شرط باید یک عبارت بولی باشد، یعنی عبارتی که بتوان گفت درست یا نادرست است. در اینجا چند نمونه از عبارات بولی آورده شده است:

s != "exit";
a > 5;
true;
تا زمانی که عبارت شرطی درست باشد، بدنه حلقه اجرا خواهد شد. وقتی شرط نادرست شد، کنترل به خط کدی که بعد از حلقه می آید منتقل می شود. اگر فقط یک عبارت در حلقه استفاده شود، می توان مهاربندهای فرفری را حذف کرد (اما بهتر است این کار را انجام ندهید). عبارت منطقی قبل از شروع حلقه while ارزیابی می شود و سپس هر بار قبل از تکرار بعدی عبارت اجرا می شود.

در حالی که مثال های حلقه

بیایید برنامه ای بنویسیم که تمام اعداد از 1 تا 10 را با استفاده از یک حلقه while جمع کند :

public class WhileTest0 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
   //while loop     
   while (i < 11) {
           sum = sum + i;
           i++;
       }
       System.out.println(sum);
   }
}
خروجی این است:
55
باید مجموع همه اعداد را از 1 (یا از صفر، فرقی نمی کند) تا 10 محاسبه کنیم. مجموع اولیه و عنصر اول را برابر صفر می کنیم و با هر عبور از عنصر یک عنصر را افزایش می دهیم. حلقه. ما به جمع کردن ادامه می دهیم تا آرگومان برابر با 10 شود (یعنی کمتر از 11. به طور مشابه، می توانیم شرط i <= 10 را بنویسیم ). بیایید یک مثال دیگر از Java while را در نظر بگیریم . ما قصد داریم برنامه ای بنویسیم که در آن کاربران اعداد صحیح مثبت را وارد کنند. اگر عدد صفر یا منفی را وارد کنند، برنامه باید این را گزارش کند و کار را تمام کند.

import java.util.Scanner;

public class WhileTest {
   public static void main(String[] args) {
       int positiveNumber = 1;
       Scanner scanner = new Scanner(String.valueOf(positiveNumber));
       while (positiveNumber > 0) {
           Scanner sc = new Scanner(System.in);
           System.out.println("Enter positive number:");
           positiveNumber = sc.nextInt();
           System.out.println("ok, next");
       }
       System.out.println("The number should be positive");
   }
}
می توانید برنامه را بهبود ببخشید و به آن اضافه کنید، مثلاً بررسی کنید که آیا کاربر دقیقاً یک عدد وارد کرده است و نه کاراکتر دیگری، یا اینکه عدد یک عدد صحیح است.

حلقه do-while

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

do {
     // Loop body - periodically executed statement(s)
}while(Boolean expression);
بنابراین، اولین مثال با چنین حلقه ای به شکل زیر است:

public class WhileTest0 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
       do
        {
           sum = sum + i;
           i++;
       } while (i < 11);
       System.out.println(sum);
   }
}

چرخه بی پایان

حلقه while را می توان برای سازماندهی حلقه های بی نهایت به شکل while(true) استفاده کرد: برای مثال، در اینجا برنامه ای وجود دارد که به طور بی پایان (با برخی تفاوت های ظریف) یک سری اعداد صحیح را چاپ می کند:

public class EndlessLoop {
    public static void main(String[] args) {
        int i = 0;
        while (true) {
            System.out.println(i++);
        }
    }
}
برای تقویت آموخته هایتان، پیشنهاد می کنیم یک درس ویدیویی از دوره جاوا ما تماشا کنید
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION