کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش حلقه ها در جاوا

 

 

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

جاوا دارای سه مکانیزم بسیار انعطاف پذیر looping می باشد. شما می توانید از یکی از سه لوپ زیر استفاده کنید:

·         while Loop

·         do...while Loop

·         for Loop

همانند Java 5 افزایش برای لوپ معرفی شد. این امر اساسا برای ردیف ها (Arrays) نیز استفاده می شود.

The While loop:

یک while loop یک ساختار کنترل می باشد که به شما اجازه می دهد تا یک عملکرد را در تعداد دفعات مشخصی تکرار کنید.

ترکیب یک while loop مانند زیر می باشد:

 

while(Boolean_expression)

{

   //Statements

}

 

هنگام اجرا اگر نتیجه ی boolean_expression  عبارت true باشد، سپس فعالیت ها در داخل loop اجرا خواهند شد. این مسئله تا زمانی ادامه پیدا می کند که نتیجه ی عبارت true باشد.

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

مثال:

public class Test {

 

   public static void main(String args[]) {

      int x = 10;

 

      while( x < 20 ) {

         System.out.print("value of x : " + x );

         x++;

         System.out.print("\n");

      }

   }

}

 

این مثال نتیجه ی زیر را به دنبال خواهد داشت:

 

value of x : 10

value of x : 11

value of x : 12

value of x : 13

value of x : 14

value of x : 15

value of x : 16

value of x : 17

value of x : 18

value of x : 19

 

The do...while Loop:

 

یک do...while loop  مشابه یک While loop  می باشد، به جز اینکه یک do...while loop  تضمین شده است که حداقل یک بار اجرا شود.

ترکیب مربوط به do...while loop  مانند زیر می باشد:

do

{

   //Statements

}while(Boolean_expression);

دقت داشته باشید که عبارت Boolean در انتهای loop ظاهر می شود، بنابراین عبارات در لوپ قبل از اینکه Boolean تست شود، یک بار اجرا می شوند.

اگر عبارت Boolean درست باشد، جریان کنترل برای انجام جهش به عقب دارد، و عبارات در loop دوباره اجرا می شوند. این فرایند تازمانیکه عبارت Boolean نادرست است (false) تکرار می شود.

مثال:

public class Test {

 

   public static void main(String args[]){

      int x = 10;

 

      do{

         System.out.print("value of x : " + x );

         x++;

         System.out.print("\n");

      }while( x < 20 );

   }

}

 

این مثال نتیجه ی زیر را ایجاد خواهد کرد:

value of x : 10

value of x : 11

value of x : 12

value of x : 13

value of x : 14

value of x : 15

value of x : 16

value of x : 17

value of x : 18

value of x : 19

 

The for Loop

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

زمانیکه می دانید یک عملکرد چند بار قرار است تکرار شود، یک for loop مفید می باشد.

ترکیب یک for loop مانند زیر می باشد:

 

for(initialization; Boolean_expression; update)

{

   //Statements

}

در اینجا جریان کنترل در یک for loop را مشاهده می کنید.

·         ابتدا مرحله ی مقدار دهی اولیه تنها یک بار اجرا می شود. این مرحله به شما اجازه می دهد تا هر متغیر کنترل loop را اعلام کرده و مقدار دهی کنید. تا زمانیکه نقطه ویرگول (semi colon) ظاهر می شود، لازم نیست در اینجا عبارتی قرار دهید.

·         پس از آن عبارت Boolean ارزیابی می شود. اگر درست باشد (true) بدنه ی loop اجرا می شود. اگر درست نباشد (false) بدنه ی loop اجرا نمی شود و جریان کنترل به عبارت بعدی جهش دارد، که از for loop عبور می کند.

·         پس از اجرای بدنه ی for loop، جریان کنترل جهشی به عقب، به عبارت آپدیت دارد. این عبارت به شما اجازه می دهد تا متغیرهای هر کنترل loop را آپدیت کنید. تا زمانیکه یک نقطه ویرگول (semi colon) پس از عبارت Boolean ظاهر می شود، این عبارت می تواند خالی رها شود.

·         عبارت Boolean اکنون دوباره ارزیابی می شود. اگر درست باشد، loop اجرا شده و فرایند خود را تکرار می کند ( بدنه ی loop، سپس مرحله ی آپدیت و سپس عبارت Boolean).  سپس اگر عبارت Boolean اشتباده باشد، for loop به پایان می رسد.

مثال:

public class Test {

 

   public static void main(String args[]) {

 

      for(int x = 10; x < 20; x = x+1) {

         System.out.print("value of x : " + x );

         System.out.print("\n");

      }

   }

}

این مثال نتیجه ی زیر را به دنبال خواهد داشت:

value of x : 10

value of x : 11

value of x : 12

value of x : 13

value of x : 14

value of x : 15

value of x : 16

value of x : 17

value of x : 18

value of x : 19

for loop پیشرفته در جاوا:

در Java 5 در واقع for loop پیشرفته معرفی شد، که اساسا برای ردیف ها (Arrays) استفاده می شود.

ترکیب مربوط به for loop پیشرفته مانند زیر می باشد:

for(declaration : expression)

{

   //Statements

}

·         اعلام (Declaration) : متغیر بلوک تازه اعلام شده، که از نوع سازگار با عناصر ردیف می باشد. متغیر در داخل for block در دسترس خواهد بود و مقدار آن همان مقدار عنصر ردیف فعلی خواهد بود.

·         عبارت (Expression): ردیفی را که برای loop از طریق آن نیاز دارید را ارزیابی می کند. یک عبارت می تواند یک ردیف در دسترس و یا یک متود باشد که بازگشت یک ردیف را فرامی خواند.

مثال:

public class Test {

 

   public static void main(String args[]){

      int [] numbers = {10, 20, 30, 40, 50};

 

      for(int x : numbers ){

         System.out.print( x );

         System.out.print(",");

      }

      System.out.print("\n");

      String [] names ={"James", "Larry", "Tom", "Lacy"};

      for( String name : names ) {

         System.out.print( name );

         System.out.print(",");

      }

   }

}

این مثال نتیجه ی زیر را به دنبال دارد:

10,20,30,40,50,

James,Larry,Tom,Lacy,

 

لغت کلیدی break:

لغت کلیدی break برای متوقف کردن کل loop استفاده می شود. لغت کلیدی break باید در داخل loop یا عبارت switch(تغییر) استفاده شود.

لغت کلیدی break اجرای داخلی ترین loop را متوقف کرده و خط بعدی کد را پس از بلوک آغاز می کند.

ترکیب break یک عبارت مجزا در داخل هر loop می باشد.

مثال:

public class Test {

 

   public static void main(String args[]) {

      int [] numbers = {10, 20, 30, 40, 50};

 

      for(int x : numbers ) {

         if( x == 30 ) {

                break;

         }

         System.out.print( x );

         System.out.print("\n");

      }

   }

}

این مثال نتیجه ی زیر را به دنبال دارد:

10

20

لغت کلیدی continue:

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

·         در یک for loop، لغت کلیدی continue باعث می شود جریان کنترل فورا به مرحله ی آپدیت جهش داشته باشد.

·         در یک while loop یا do/while loop جریان کنترل فورا به عبارت Boolean جهش دارد.

ترکیب لغت کلیدی continue یک عبارت مجزا در داخل loop می باشد:

continue;

 

مثال:

public class Test {

 

   public static void main(String args[]) {

      int [] numbers = {10, 20, 30, 40, 50};

 

      for(int x : numbers ) {

         if( x == 30 ) {

                continue;

         }

         System.out.print( x );

         System.out.print("\n");

      }

   }

}

 

این مثال نتیجه ی زیر را به دنبال دارد:

10

20

40

50

 

بخش بعدی:

در بخش بعدی در مورد تصمیم گیری در مورد عبارات در برنامه نویسی java فرا خواهیم گرفت.

1394/07/27 3569 0
نظرات شما

نظرات خود را ثبت کنید...