حلقههای تکرار در کاتلین
با سلام خدمت کاربران عزیز و گرامی کافی کدر امیدوارم که حالتون خوب باشه و پر انرژی باشید و سرحال.
در بخشهای قبلی با انواع دستورات شرطی مانند if else و when آشنا شدیم،و با سینتکس و ساختار آن همچنین نحوهی عملکرد آن آشنا شدیم.
اما در این بخش میخواهیم در مورد حلقههای تکرار در کاتلین با همدیگر صحبت کنیم و مورد بررسی قرار دهیم.
ما در این بخش در مورد نحوهی تعریف و سینتکس حلقههای تکرار در کاتلین بحث میکنیم و مثالهایی را با هم مرور میکنیم،همچنین ساختار حلقهی while را مورد بررسی قرار میدهیم.
سپس تفاوتهای بین حلقههای تکرار در کاتلین، for و while رو مورد بررسی قرار میدهیم.
سپس به بررسی ساختار do while
با ما همراه باشید.
بگذارید برای شروع کار با حلقهها با یک مثال شروع کنیم،فرض کنید در موقعیتی هستید که قرار است دستور HelloWorld را 20 بار چاپ کنید،خب شاید بگید که 20 بار از دستور printاستفاده میکنید.
اما تصویر کنید میخواهید 100 بار دستور HelloWorld چاپ کنید در این شراط چه اقدامی انجام میدهید؟آیا باز هم دستور پرینت جوابگو میباشد؟
خیر. اینجاست که ما از ساختار و حلقههای for استفاده میکنیم.
در واقع، حلقه ها در برنامه نویسی برای تکرار یک بلوک خاص از کد تا زمانی که شرایط خاصی برآورده شود استفاده می شود.
حالا بیاید نگاهی به syntax حلقهی for بیاندازیم.
for (item in collection) { // body of loop }
در قطعه کد بالا ما حلقه را با کلمه کلیدی for تعریف میکنیم. سپس یک متغیر برای برای حلقهی for تعریف میکنیم که اینجا ما item را تعریف کردیم شما میتوانید مثلا i تعریف کنید.
سپس با کلمه کلیدی in محدودهی تکرار حلقه را تعریف میکنیم. و collection هم میتواند مجمموعه ای از اعداد باشد یا آرایه ها و ……
مثال:
fun main(args: Array<String>) { for (item in 1..10) { println(item) } }
در قطعه کد بالا ما اعداد 1 تا 10 را به واسطهی حلقه چاپ کردیم با استفاده 10..1 هم یعنی از 1 تا 10 میباشد و حتما باید علامت .. را قرار دهیم همچنین کلمهی کلیدی in نیاز است.
سپس با دستور پرینت item را چاپ کردهایم.
مثال: بیایید مثالی دیگر ببینیم با این تفاوت که اینبار از حلقهی ما از آخر به اول بیایید.
fun main(args: Array<String>) { for (item in 5 downTo 1 step 2) { println(item) } }
در قطعه کد بالا ما با استفاده از کلمهی کلیدی downTo حلقه را از آخر به اول پیمایش میکنیم یعنی نتیجه میشود:5 -> 3 ->1 حالا ما میتوانیم با دستور step گام حلقه یا پرش حلقه را تعیین کنیم،که اینجا دوتا دوتا پرش میکنیم و نتیجه حاصل میشود.
نکته:ما در حلقه ها میتوانیم حلقههای تو در تو هم تعریف کنیم همچنین میتوانیم در آیایه ها هم پیمایش داشته باشیم که در آینه به آن اشاره خواهیم کرد.
و اما حلقه While در کاتلین شبیه جاوا میباشد.
سینتکس حلقهی while به شکل زیر میباشد.
while (condition) { // body of the loop }
در پرانتز فقط شرط بررسی حلقه را مینویسیم و سپس بلوک کد خودمان را مینویسیم.
وقتی کامپایلر کاتلین به حلقه while رسید، شرط داده شده را بررسی می کند، اگر شرط داده شده درست باشد، بدنه حلقه اجرا می شود، در غیر این صورت برنامه شروع به اجرای کدهای موجود پس از بدنه حلقه while می کند.
مثال: در مثال زیر تا زمانی که شرط حلقه یعنی i بزرگتر از 0 باشد حلقه ادامه پیدا میکند و از 5 تا 1 را برای ما چاپ میکند و هر سری از i یک واحد کم میشود یعنی نتیجه میشود 5->4->3->2->1
fun main(args: Array<String>) { var i = 5; while (i > 0) { println(i) i-- } }
حلقهی while:
do..while شبیه حلقه while است با این تفاوت که این حلقه یک بار بلوک کد را اجرا می کند، قبل از اینکه بررسی کند آیا شرط درست است یا نه، سپس تا زمانی که شرط درست باشد، حلقه را تکرار می کند.
نکته:حلقه همیشه حداقل یک بار اجرا می شود، حتی اگر شرط نادرست باشد، زیرا بلوک کد قبل از آزمایش شرط اجرا می شود.
do{ // body of the loop }while( condition )
تفاوت حلقه while با do while در این است که در حلقه ی do while حلقهی do while حداقل یکبار اجرا میشود. حتی اگر شرط نادرست باشد.
اما در while چنین نمیباشد.
زمانی که کامپایلر Kotlin به حلقه do…while رسید، مستقیماً وارد بدنه حلقه می شود و قبل از اینکه شرایط داده شده را بررسی کند کد موجود را اجرا می کند. اگر شرط داده شده را درست تشخیص دهد، اجرای بدنه حلقه را تکرار می کند و تا زمانی که شرط داده شده درست است ادامه می دهد.
همچنین ما حلقهی (true)while هم داریم که حلقهی بی نهایت میباشد و شرط حلقه تا بینهایت میباشد.
مثال:در زیر مثالی وجود دارد که در آن حلقه do…while تا زمانی که متغیر شمارنده i بزرگتر از 0 باشد به اجرای بدنه حلقه ادامه می دهد:
fun main(args: Array<String>) { var i = 5; do{ println(i) i-- }while(i > 0) }
خب در این بخش هم به بررسی حلقههای تکرار در کاتلین پرداختیم به صورت ساده و با آنها آشنا شدیم.
امیدوارم نهایت استفاده را از این بخش برده باشید.
موفق و پیروز باشید.
منبع:
سایت kotlinlang.org
شما میتونید آموزش های بیشتری رو در کافی کدر دنبال کنید.
pnz0vc
8qix18
butzf5
q9llx1
1ja3e5