با سلام به همه دوستان عزیز و علاقه مندان به آموزش جاوا در وب سایت ITSI.IR . در این درس میخواهیم با عبارت تکرار while آشنا شویم و با ذکر یک مثال ساده این موضوع را بررسی کنیم . پس با ما همراه باشید .

عبارت تکرار while

عبارت تکرار به برنامه نویس این امکان را می دهد که برا اساس برقرار بودن و یا نبودن یک شرط یک سری دستورات را چند بار اجرا کند . مثلا اگر شرط برقرار باشد دستورات A و یا B انجام می شوند ، اجرای این دستورات می تواند چندین و چند بار اجرا شوند .
به کد زیر دقت کنید ، فرض کنید می خواهیم اولین توان 3 بزرگتر از 100 را پیدا کنیم . در این قطعه کد فرض میکنیم در ابتدا متغیر count برابر با 3 مقدار دهی اولیه شده باشید .

while(count<=100)
count = count * 3 ;

وقتی برنامه ما وارد عبارت while می شود مقدار count برابر با 3 میباشد . این متغیر پیاپی در عدد 3 ضرب مشود و مقادیر 9 , 27 , 81 و 243 را بر میگرداند .زمانیکه count برابر با 243 باشد چون شرط اولیه ما count<=100 را رد می کند و دیگر برابر نیست عمل ضرب انجام نمیشود و مقدار count با 243 به پایان می رسد .

نکته : دقت کنید که شرط را طوری در نظر بگیرید تا برنامه برای همیشه داخل قطعه کد While باقی نماند و به حلقه بی نهایت ” infinite loop ” تبدیل نشود .
در تصویر زیر می توانید شکل کلی اجرای حلقه while را مشاهده کنید .

درس یازدهم : آموزش عبارت تکرار while در جاوا

شکل کلی حلقه while

خب دوستان بریم یه مثال ساده رو بررسی کنیم تا با مفهوم while بیشتر آشنا شوید .
برنامه netbeans را اجرا کنید و یک پروژه جدید ایجاد کنید .
کد زیرا تایپ کنید تا در ادامه توضیحات لازم را خدمت شما ارائه بدهم .
در این برنامه می خواهیم از کاربر 10 عدد را بگیریم و سپس جمع و میانگین 10 عدد را محاسبه کنیم .

package whileclass;
import java.util.Scanner;

public class WhileClass {


    public static void main(String[] args) {
        
        Scanner myInput = new Scanner(System.in);
        
        int myCounter = 1 ; 
        int total = 0 ;
        
        while(myCounter <=10){
            System.out.print("Enter The Number : ");
            int grade = myInput.nextInt();
            total = total + grade;
            myCounter = myCounter + 1;
        }
        
        int average = total /10 ;
        
        System.out.printf("\nTotal of 10 grade is : %d\n", total);
        System.out.printf("Average Is : %d\n", average );
       
    }
    
}

همانطور که می دانید در ابتدا کلاس Scanner را وارد کردیم تا بتوانیم از کاربر ورودی بگیریم . سپس دو متعیر از نوع int ایجاد کردیم یکی برای جمع اعداد و یکی برای شمارنده حلقه ما .

while(myCounter <=10){
System.out.print("Enter The Number : ");
int grade = myInput.nextInt();
total = total + grade;
myCounter = myCounter + 1;
}

کد بالا در حلقه While یک شرط قرار داده ایم که بررسی میکند که شمارنده ما یعنی myCounter کمتر یا مساوی با 10 هست یا خیر .
سپس از کاربر می خواهد یک عدد را وارد کند و آن را در یک متغیر با نام grade قرار میدهد . در مرحله بعد عدد وارد شده توسط کاربر با مقدار اولیه total که 0 است جمع می شود و داخل خود متغیر total قرار داده میشود . در خط بعدی مقدار شمارنده یکی اضافه شده و خود شمارنده اضافه میشود .
در هربار اجرا شدن حلقه while یکی به myCounter اضافه میشود و مقدار تایپ شده توسط کاربر به total اضافه می شود . وقتی myCounter برابر با 10 شود چون مساوی با 10 شده برنامه از حلقه خارج می شود و به خط زیر می رسد .

int average = total /10 ;

در این خط مقدار نهایی جمع اعداد بر تعداد که 10 هست تقسیم می شود و در متغیر average قرار داده میشود .
و در دوخط پایانی هم بر اساس دروس قبل مقادیر نهایی total و average چاپ می شود .
خروجی برنامه به صورت زیر میباشد

درس یازدهم : آموزش عبارت تکرار while در جاوا

خروجی برنامه

دقت کنید حاصل تقسیم ما ممکن است عدد اعشاری باشد ولی چون ما درخواست نوع عدد صحیح را داده ایم int بنابراین مقدار اعشاری حذف میشود .
خب دوستان این درس هم به پایان رسید . امیدوارم خوب تمرین کنید و با هم ، همزمان پیش برویم . فایل آموزش هم برای شما قرار داده شده است .

دانلود فایل آموزش