حلقهها در زبان برنامهنویسی کاتلین، ابزاری قدرتمند برای تکرار یک بلوک از دستورات به تعداد معین یا تا زمانی که یک شرط خاص برقرار باشد، هستند. با این اموزش کاتلین از سایت آموزش برنامه نویسی الکامکو همراه ما باشید.
دو نوع حلقه اصلی در کاتلین وجود دارد:
۱- حلقه ها در برنامه نویسی کاتلین – حلقه for:
حلقه for در کاتلین برای تکرار یک بلوک کد تا زمانی که یک شرط خاص برقرار باشد استفاده میشود. این حلقه برای پیمایش در مجموعهها، مانند لیستها و آرایهها، بسیار مفید است.
ساختار کلی حلقه for:
for (متغیر in مجموعه) {
// بلوک کد
}
در این ساختار:
متغیر
نام متغیری است که برای هر عنصر در مجموعه مقدار دهی میشود.مجموعه
مجموعهای است که میخواهیم در آن پیمایش کنیم.بلوک کد
دستوراتی است که برای هر عنصر در مجموعه اجرا میشود.
مثال:
فرض کنید میخواهیم لیستی از اعداد را با حلقه for در کاتلین چاپ کنیم:
val numbers = listOf(1, 2, 3, 4, 5)
for (number in numbers) {
println(number)
}
۲. حلقه ها در برنامه نویسی کاتلین – حلقه while:
حلقه while یک حلقه کنترلی در برنامهنویسی کاتلین است که به شما امکان میدهد یک بلوک کد را تا زمانی که یک شرط خاص برقرار باشد، به طور مکرر اجرا کنید.
ساختار پایه یک حلقه while به صورت زیر است:
while (شرط) {
// کدهایی که باید تکرار شوند
}
در این ساختار، شرط
یک عبارت بولی است که قبل از هر بار اجرای کد داخل بلوک حلقه ارزیابی میشود. اگر شرط
درست (true) باشد، کد داخل بلوک اجرا میشود و سپس شرط دوباره بررسی میشود. این فرآیند تا زمانی که شرط
نادرست (false) شود، ادامه مییابد.
در اینجا چند نکته کلیدی در مورد حلقههای while در کاتلین وجود دارد:
- شرط باید همیشه یک مقدار بولی برگرداند. اگر شرط مقدار غیر بولی برگرداند، ممکن است خطا یا رفتار غیرمنتظرهای رخ دهد.
- باید راهی برای تغییر شرط در داخل بلوک حلقه وجود داشته باشد. در غیر این صورت، حلقه برای همیشه اجرا میشود. این کار معمولاً با به روز رسانی متغیری که در شرط استفاده میشود، انجام میشود.
- حلقههای while میتوانند برای اجرای تعداد نامحدود تکرارات یا تعداد مشخصی از تکرارات استفاده شوند.
مثالهایی از حلقههای while در کاتلین
در اینجا چند مثال از نحوه استفاده از حلقههای while در کاتلین آورده شده است:
مثال ۱: چاپ اعداد از ۱ تا ۱۰
var i = 1
while (i <= 10) {
println(i)
i++
}
این کد اعداد ۱ تا ۱۰ را به صورت خطی چاپ میکند.
مثال ۲: جمع اعداد ۱ تا ۱۰۰
var sum = 0
var i = 1
while (i <= 100) {
sum += i
i++
}
println(“مجموع اعداد ۱ تا ۱۰۰ برابر با $sum است”)
این کد اعداد ۱ تا ۱۰۰ را با هم جمع میکند و نتیجه را چاپ میکند.
مثال ۳: بررسی صحت ورودی کاربر
var input: String?
do {
print(“یک عدد صحیح وارد کنید: “)
input = readLine()
} while (input == null || !input.toIntOrNull().isFinite())
val number = input!!.toInt()
println(“شما عدد $number را وارد کردید”)
این کد از کاربر میخواهد یک عدد صحیح وارد کند. تا زمانی که کاربر ورودی صحیحی وارد نکند، کد دوباره اجرا میشود.
همچنین بخوانید» چگونه برنامه نویسی را یاد بگیریم؟
۳. تفاوت حلقه while و do-while در کاتلین
حلقههای do-while شبیه به حلقههای while هستند، با این تفاوت که کد داخل بلوک حلقه حداقل یک بار قبل از بررسی شرط اجرا میشود.
ساختار پایه یک حلقه do-while به صورت زیر است:
do {
// کدهایی که باید تکرار شوند
} while (شرط);
در این مثال، کد داخل بلوک حلقه حداقل یک بار اجرا میشود، حتی اگر شرط
در ابتدا نادرست (false) باشد.
از حلقههای do-while معمولاً در شرایطی استفاده میشود که میخواهید اطمینان حاصل کنید که کد داخل بلوک حلقه حداقل یک بار اجرا میشود، حتی اگر شرط نادرست باشد.
۴. حلقه ها در کاتلین – حلقه forEach:
حلقه forEach
در کاتلین روشی ساده و مختصر برای پیمایش در عناصر یک مجموعه و اجرای کد برای هر عنصر ارائه میدهد. این حلقه نیازی به استفاده از متغیر شمارنده یا شرط ندارد و به طور خودکار از هر عنصر در مجموعه عبور میکند.
ساختار پایه حلقه forEach
به صورت زیر است:
مجموعه.forEach { عنصر ->
// کدهایی که باید برای هر عنصر اجرا شوند }
در این ساختار، مجموعه
نام مجموعهای است که میخواهید روی آن پیمایش کنید. عنصر
یک متغیر موقت است که در هر بار تکرار به مقدار عنصر فعلی مجموعه اختصاص مییابد.
در داخل بلوک کد، میتوانید هر گونه عملیاتی را که میخواهید روی عنصر
انجام دهید، مانند چاپ، تغییر یا حذف آن، انجام دهید.
مثالهایی از حلقه forEach در کاتلین
در اینجا چند مثال از نحوه استفاده از حلقههای forEach
در کاتلین آورده شده است:
مثال ۱: چاپ اعداد ۱ تا ۱۰
val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
numbers.forEach { number ->
println(number)
}
این کد اعداد ۱ تا ۱۰ را در لیست numbers
دو برابر میکند و سپس لیست را چاپ میکند.
مثال ۳: بررسی زوج یا فرد بودن اعداد ۱ تا ۱۰
این کد نوع (زوج یا فرد بودن) اعداد ۱ تا ۱۰ را چاپ میکند.
۵. حلقه ها در کاتلین – دستور break
در کاتلین
دستور break
در کاتلین برای خروج از یک حلقه for، while یا do-while در هر نقطه دلخواه استفاده میشود.
هنگامی که دستور break
اجرا میشود، پیمایش در حلقه بلافاصله متوقف میشود و کنترل برنامه به بعد از بلوک حلقه منتقل میشود.
نحو استفاده از دستور break
ساختار کلی دستور break
به صورت زیر است:
break@label
مثالهایی از استفاده از دستور break
در اینجا چند مثال از نحوه استفاده از دستور break
در کاتلین آورده شده است:
مثال ۱: خروج از حلقه for پس از یافتن عدد خاص
val numbers = listOf(1, 5, 3, 4, 2)
for (number in numbers) {
if (number == 5) {
break
}
println(number)
}
این کد لیست numbers
را پیمایش میکند و اعداد را چاپ میکند. اگر عدد ۵ پیدا شود، حلقه با استفاده از دستور break
متوقف میشود و اعداد باقیمانده چاپ نمیشوند.
مثال ۲: خروج از حلقههای nested با استفاده از برچسب
loop@ for (i in 1..10) {
for (j in 1..10) {
if (i + j == 15) {
break@loop
}
}
}
println(“حلقهها با i = ${i} و j = ${j} متوقف شدند”)
var i = 0
while (i < 10) {
i++
if (i == 5) {
break
}
println(i)
}
println(“حلقه while با i = $i متوقف شد”)
این کد یک حلقه while را اجرا میکند تا زمانی که i
به ۱۰ برسد. اگر i
برابر با ۵ باشد، حلقه با استفاده از دستور break
متوقف میشود.
نکاتی در مورد استفاده از دستور break
- استفاده از دستور
break
فقط در داخل حلقهها مجاز است. - اگر از برچسب استفاده میکنید، باید آن را درست قبل از دستور
break
قرار دهید. - استفاده بیش از حد از دستور
break
میتواند کد شما را غیرقابل خواندن و اشکالزدایی را دشوار کند. از آن فقط در شرایط ضروری استفاده کنید.
جایگزینهای دستور break
در برخی موارد، میتوانید به جای دستور break
از راهکارهای دیگر مانند دستور continue
یا ساختارهای کنترلی مانند if-else
استفاده کنید.
- دستور
continue
باعث میشود دور فعلی حلقه پرش شود و به دور بعدی برود. - ساختارهای
if-else
به شما امکان میدهند کنترل جریان برنامه را به طور مشروط مدیریت کنید.
انتخاب بهترین راهکار به نیاز خاص شما بستگی دارد.
همچنین بخوانید» فلاتر یا کاتلین | جاوا یا کاتلین | پایتون یا کاتلین
۶- حلقه ها در کاتلین – دستور continue در کاتلین
دستور continue
در کاتلین برای پرش از دور فعلی یک حلقه for، while یا do-while و ادامه به دور بعدی استفاده میشود.
هنگامی که دستور continue
اجرا میشود، باقیمانده دستورات در دور فعلی حلقه اجرا نمیشود و کنترل برنامه به طور مستقیم به ابتدای دور بعدی منتقل میشود.
نحو استفاده از دستور continue
ساختار کلی دستور continue
به صورت زیر است:
continue@label
مثالهایی از استفاده از دستور continue
در اینجا چند مثال از نحوه استفاده از دستور continue
در کاتلین آورده شده است:
مثال ۱: چاپ اعداد زوج از ۱ تا ۱۰
continue@label
این کد دو حلقه for nested را برای اعداد ۱ تا ۵ و ۱ تا ۳ اجرا میکند. اگر i
برابر با ۳ و j
برابر با ۲ باشد، از هر دو حلقه با استفاده از دستور continue
و برچسب loop
عبور میشود.
مثال ۳: استفاده از دستور continue
با شرط خاص
var sum = 0
var i = 0
while (i < 10) {
i++
if (i == 5) {
continue
}
sum += i
println(“مجموع تاکنون: $sum”)
}
println(“مجموع نهایی: $sum”)
نکاتی در مورد استفاده از دستور continue
- استفاده از دستور
continue
فقط در داخل حلقهها مجاز است. - اگر از برچسب استفاده میکنید، باید آن را درست قبل از دستور
continue
قرار دهید. - استفاده بیش از حد از دستور
continue
میتواند کد شما را غیرقابل خواندن و اشکالزدایی را دشوار کند. از آن فقط در شرایط ضروری استفاده کنید.
جایگزینهای دستور continue
در برخی موارد، میتوانید به جای دستور continue
از راهکارهای دیگر مانند ساختارهای کنترلی مانند if-else
استفاده کنید.
- ساختارهای
if-else
به شما امکان میدهند کنترل جریان برنامه را به طور مشروط مدیریت کنید و از اجرای دستورات غیرضروری جلوگیری کنید.
انتخاب بهترین راهکار به نیاز خاص شما بستگی دارد.
همچنین بخوانید» انواع متغییرها در کاتلین | انواع داده ها در کاتلین
نکاتی در مورد استفاده از حلقهها در کاتلین:
- از حلقهها برای تکرار وظایف تکراری استفاده کنید.
- از حلقه for برای تکرار تعداد مشخصی از دفعات استفاده کنید.
- از حلقه while برای تکرار تا زمانی که یک شرط خاص برقرار باشد استفاده کنید.
- از حلقه forEach برای پیمایش در عناصر یک لیست یا مجموعه استفاده کنید.
- از حلقه do-while برای اجرای دستورات حداقل یک بار استفاده کنید.
- از حلقه break برای خروج از یک حلقه در هر نقطه دلخواه استفاده کنید.
- از حلقه continue برای رفتن به تکرار بعدی حلقه بدون اجرای بقیه دستورات در آن تکرار استفاده کنید.
جامع ترین دوره آموزش کاتلین پروژه محور | آموزش Kotlin از مبتدی تا پیشرفته
اطلاعات بیشتر و خریدقیمت اصلی ۲,۰۰۰,۰۰۰ تومان بود.۱,۸۰۰,۰۰۰ تومانقیمت فعلی ۱,۸۰۰,۰۰۰ تومان است.
حلقهها جزء اساسی برنامهنویسی هستند
مطلب خوبی درباره حلقه های کاتلین بود.
تشکر