صفحه اصلی / دوره‌های آموزشی / آموزش جاوا مقدماتی تا متوسط / حلقه تکرار for در زبان جاوا

حلقه تکرار for در زبان جاوا

حلقه تکرار for در زبان جاوا
براي خريد اين درس نياز است وارد سايت شويد. در صورت نداشتن حساب کاربري عضو شويد.
75,600 تومان

جلسات دوره


                         
مهدی عباسی
مدرس:

مهدی عباسی

18 سال سابقه برنامه‌نویسی و تدریس برنامه‌نویسی
کسب مقام‌های اول و دوم کشوری در مسابقات برنامه‌نویسی

مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و .... مشاهده رزومه

حلقه های تکرار در زبان جاوا 


دستور for در زبان جاوا


در برخی از برنامه ها ممکن است نیاز باشد دستور یا دستوراتی را به صورت تکراری بنویسیم.
در زبان جاوا ما از سه دستور for , while , do-while برای تکرار تکه کد ها میتوانیم استفاده کنیم؛ هر کدام از این دستورات کاربرد خاص خود را دارند که با آن ها آشنا خواهیم شد.
برای چاپ کردن یک کلمه به تعداد 5 و یا حتی 50 بار ما میتوانیم از عمل کپی و چسباندن استفاده کنیم؛ اما اگر قرار باشد 500 بار تکرار کنیم انجام این کار با کپی کردن غیر ممکن میشود، چون هم حجم برنامه بالا میرود و هم برنامه ما اصلا دوست داشتنی نخواهد بود.
دستور for اینگونه است که کلمه for نوشته میشود و جلوی آن یک پرانتز قرار میگیرد؛

 
package mypac;

import java.util.Scanner;

public class myclas {

	public static void main(String[] args) {
		for()
	}
}

این پرانتز به کمک سه عدد کارکتر ";" به سه قسمت تقسیم میشود؛
 
package mypac;

import java.util.Scanner;

public class myclas {

	public static void main(String[] args) {
		for(;;)
	}
}

در بخش اول مشخص میکنیم که از چه مقداری شمارش شروع شود؛
package mypac;

import java.util.Scanner;

public class myclas {

	public static void main(String[] args) {
		int i;
		for(i=10;;)
	}
}

در بخش دوم پایان بازه عددی مورد نظر را مشخص میکنیم؛
package mypac;

import java.util.Scanner;

public class myclas {

	public static void main(String[] args) {
		int i;
		for(i=10;50;)
	}
}
در بخش سوم میزان پرش یا حرکت حلقه مشخص میشود، یعنی این که حلقه چند تا چند تا شمارش را انجام دهد؛
 
package mypac;

import java.util.Scanner;

public class myclas {

	public static void main(String[] args) {
		int i;
		for(i=10;50;i++)
	}
}
 
بعد از پرانتز یک آکولاد یا بلاک قرار میگیرد که تعیین کننده‌ی دستوراتی است که تحت کنترل for میباشند.
 
package mypac;

import java.util.Scanner;

public class myclas {

	public static void main(String[] args) {
		int i;
		for(i=10;50;i++){
		System.out.println("darsman.com");
}
	}
}
 
برای مثال میخواهیم یک عمل چاپ را 10 بار تکرار کنیم؛ کد پایین این عمل را برای ما انجام میدهد.
package mypac;

import java.util.Scanner;

public class myclas {

	public static void main(String[] args) {
		int i;
		for(i=1;i<=10;i++){
			System.out.println("darsman.com");
			
		}
	}
}

نکته:
در بلاک کد دستور for به تعداد دلخواه میتوانیم کد بنویسیم و هیچ محدودیتی ندارد.
علاوه برا این که مقدار های شروع و پایان مشخص کننده این است که کد ها چند بار تکرار شوند مقدار پرش نیز تاثیر گذار است.
برای درک بهتر این موضوع به قطعه کد پایین توجه کنید.

 
package mypac;

import java.util.Scanner;

public class myclas {

	public static void main(String[] args) {
		int i;
		for(i=1;i<=10;i+=2){
			System.out.println("darsman.com");
			
		}
	}
}

این نوع حلقه ها، حلقه های سعودی نام دارند یعنی مقدار آنها افزایش پیدا میکند.
برای حلقه های افزایشی میتوان از عملگر های "+" و "*" استفاده نمود.
همانطور که میتوان از حلقه های افزایشی استفاده کرد از حلقه های کاهشی نیز میتوان استفاده کرد برای مثال به کد زیر توجه کنید:

 
package mypac;

import java.util.Scanner;

public class myclas {

	public static void main(String[] args) {
		int i;
		for(i=5;i>=1;i--){
			System.out.println("darsman.com");
			System.out.println(i);
			
		}
	}
}

همان طور که میدانید آخرین مقدار متغیر "i" عدد1 میشود و پس از یک واحد کم شدن آن دیگر شرط حلقه ما قابل اجرا نیست و کامپایلر از حلقه خارج میشود و کد های بعد از حلقه را اجرا میکند.
اگر در این لحظه ما متغیر"i" را چاپ کنیم شاهد این خواهیم بود که عدد 0 چاپ میشود. این عمل تنها در صورتی قابل اجرا است که متغیر "i" در خارج از حلقه تعریف شده باشد.
برای تعریف متغیر در داخل حلقه از روش زیر استفاده میکنیم:

 
package mypac;

import java.util.Scanner;

public class myclas {

	public static void main(String[] args) {
		
		for(int i=5;i>=1;i--){
			System.out.println("darsman.com");
			System.out.println(i);
			
		}
	}
}

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

 

نظرات دانشجویان

نظر شما در تصمیم دیگران اثرگذار است.

لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.

برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.
ثبت نام

179