Friday, 9 September 2022

Java Loops

Have a nice day Boys and Girls, ඔන්න අදත් ආවා Voldemort ඔයාලව හොයාගෙන 😍

අන්තිමට අපි කතා කරලා ඉවර කලේ Java Conditional Statements ගැනනේ.අද අපි කතා කරන්න යන්නේ, java Loops ගැන. මේක හුගක්ම හුගක් වැදගත්ම වැදගත් වගේම ලොකු java Programming කොටසක්, අතිශය උනන්දුවකින් අද්‍යනය කිරීම මැනවි මා හිත මිත්‍රවරුනි 😉😁. ඉක්මනින් කතා කරලා ඉවර කරමු එක පෝස්ට් එකයි සියල්ල Done And Dusted😁, 


හරි පටන් ගමු අද මාතෘකාව ඒම නම්, Java loops.


Loops


Loop එකක් කියන්නේ මොකක්ද, මේ ඉංග්‍රීසි වචනෙ සිංහල තේරුමත් ලූපය කියන එකම තමා. එතකොට මේ Loop නැත්නම් ලූපය කියන්නේ මොකක්ද කියලා අයිඩියා එකක් තියෙයිද කාටම හරි 😁, idea එකක් තියන නොතියෙන හැමෝටම තේරුම් ගන්න මම මේක පැහැදිලි කරන්නම්කෝ.


Dictionary එකේ loop කියලා type කලොත් එන උත්තරේ තමා o shape produced by a curve that bends around and crosses itself (තමා හරස් කරන වක්‍රයකින් නිරූමපනය කරන හැඩය) කියලා. සරලව කිව්වොත් රව්මක්, වක්‍රයක් නැත්නම් වටයක්. හුගක් සමානයි ඉතිම් මේ කතාව java වලදිත්. අපි java වලදිත් loop එකක් කියලා කියන්නේ විශේශිත වෙච්ච කොන්දේසියක් execute වෙනකන් වටේට කැරකෙන code block එකකට. මේ loop හරිම handy එහෙම කියන්න හේතුව තමයි, programming වලදී මේ loops නිසා time savie වෙනවා , errors අඩු වෙනවා, වගේම code එක somple වෙන නිසා කියවාගැනීම පහසුයි.


While loop


While loop එකේදී අදාල දීල තියන Condition එක True වෙනකන් loop එක කැරකෙනවා, මේ while loop එකේ Syntax එක එන්නේ,


while (condition)

{

//code block to be executed

}


තේරුම් ගන්න අමාරුයි නේද, මේක අපි example එකකින් පැහැදිලි කරගමු, 





හරි, ඔයාලට යම් මට්ටමකට දැන් මේක තේරෙනව නේද, හොදට බලන්නකෝ Example එක. එක පාරක් හොදට අවබෝද වෙන්න බලන්න, මම දැන් එකින් එක පැහැදිලි කරන්නයි ලෑස්ති වෙන්නේ. 


int i=0, ඒ කියන්නේ මෙතන i කියන integer variable එකට ආරම්භයේදී assign කරලා තියන value එක 0. මෙයාගේ while loop එක run වෙන condition එක තමයි, i<5 කියන එක. I කියන variable එකට assign වෙන value එක 5 ට අඩු අගයක් විදියට තියනකන් loop එක rotate වෙනවා. ආරම්භය බලනකෝ i=0 කියලා තමා ලූප් එක පටන් අරන් තියෙන්නේ, i=o සහා 0<5 එතකොට while Loop එකේ condition  එකත් මෙතන i තෘප්ත කරනවා, ආ හරි මෙතනදී ඒනම් අපිට උවමනා output එක print කරනවා 0 කියලා. Output එක print කලාට පස්සේ අපි ඊලග පියවරට යනවා program එකේ, ඒකේ තියෙන්නේ i ගේ increment එක (i++). එතකොට එතනදී 0 විදියට තිබ්බ  i ට එකක් එකතු වෙලා  i=1 වෙනවා, ආ ඊට පස්සේ  i=1 කියලා තමා loop එක පටන් ගන්නේ, ඔය විදියට  i<5 කියන condition එක true වෙලා තියනකන්ම loop එක loop වෙනවා.


දැන් මම මගේ girls and boys ලගෙන් common general question එකක් අහන්නයි මේ යන්නේ.අපි ඔන්න දැන් loop එක i කියන variable එකට type එකකුයි value එකකුයි assign කරගෙන int i=0 කියල අරගෙන, ලූප් එකේ තියන Condition එක තෘප්‍ත කරනව නම් output එකත් print කරගෙන පහලට එනවා, ඒම එනකොට අපි දැක්කා i කියන variable එකට එක  value එකක් ආවට පස්සේ ඊලගට එන value එක වෙනස් වෙන්නත් condition එකකුත් දීල තියෙන්නේ කියලා, මගේ ප්‍රශ්නේ තමා ඒ condition එක නොතිබ්බා නම් මොකක් වෙයිද loop එකට.


ඒ condition එකට අනුව වෙනස් උනු i තමා ඊලගට ආයේ loop එකේ මුලට ගිහින් loop වෙන්නේ. එතකොට මේ condition එක අපි නොදැම්ම නම් මොකක්ද output එක දුන්නට පස්සේ ආයේ i ගේ value එකට වෙන්නේ, මුකුත්ම වෙන්නෙ නෑ නෙහ්. වෙනසක් වෙන්න කොන්දේසි මුකුත් අපි ඉදිරිපත් කරලා නෑනේ. එතකොට ඉතිම් program එක පටන් ගන්නේ  i=0 කියලා 0 කියන්නේ 5 ට වඩා අඩු සංඛ්‍යාවක්,  i කවදාවත් වෙනස් වෙන්නේත් නැති නිසා සදහටම මේ loop එක යනවා කවදාවත් නතර නොවී. මේ වගේ වෙන අවස්තාවලදී අපි කියනවා infinity loop කියලා. (මේක Check කරනකොට නතර කරගන්න del Key එක press කරන්න)



Do/While loop


Do/While Loop එක while loop එකෙන් ටිකක් වෙනස්, while loop එකේදී උඩ ගත්තු example එකම බැලුවොත් ඔයාට තේරුම් ගන්න පුලුවන් නේද loop එක පටන් ගන්නකොටම while එක්ක දාපු condition එක true නොවුනොත් අරම්භයේදීම loop එකෙන් එකම output එකක් වත් ලැබෙන්නෑ කියලා, ඒ කියන්නේ මෙන්න මෙහෙම කතාවක්, ආරම්භයේදිම i=5 කියලා අරං මේ ප්‍රෝග්‍රෑම් එකම ගහල තියනව මම පහල බලන්නකෝ




එකදු output එකක් වත් නෑ නෙහ් , අන්න ඒක තමා Do/While හා While Loop එකේ තියන ප්‍රදානම වෙනස් කම. පහල උදාහරණෙ බලන්නකෝ,

මේ තියෙන්නේ සාමාන්‍ය තත්වයේ, ඒ කියන්නේ ආරම්භක i අගය Condition එකට වඩා අඩුයි, එතකොට ඕනම වෙලාවක output එකක් හම්බෙනවනේ, 




සාමාන්‍ය තත්වය, දැන් ඊලගට බලමු condion එකට වඩා i ගෙ අගය වැඩි වෙන අවස්තාව,




මේකට හේතුව තේරුනාද, පලවෙනි condition එක හම්බෙන්නේ loop එක එක පාරක් එයාගේ output එක දුන්නට පස්සේ, ඒක නිසා තමා මේ වගේ දෙයක් වෙන්නේ, එක පාරක් execute වෙන්න තියන code Block එක execute උනාට පස්සෙ තමා loop එක condition එකට අහු වෙන්නේ.


කිසිම වෙලාවකදී variable එකේ value එක වෙනස් කරන්න මතක කරන්න එපා, ඉස්සෙල්ලා කිව්ව වගේ ඒක අමතක උනොත් කවදවත් loop එක ඉවර වෙන එකක් නම් නෑ 


For Loop


Loop එකක් use කරනකොට program එකේදී ඔයා දන්නවනම් Exactly program එක කී පාරක් loop වෙනවද කියලා, අන්න ඒ වේලෙව අපි use කරන loop එක තමයි for loop එක. 


මේකේ syntax එක එන්නේ,


for(statement 1; statement 2; statement 3)

{

//code block has to be executed

}



  • Statement 1 (Initialising statement) 


Initializing Value කියන්නේ ආරම්භක අගය කියන එක, loop එක අරම්භ කරන්න variable එකට දෙන value එක තමා statement 1 එහෙම නැත්නම් initialising value කියල කියන්නේ.


  • Statement 2 (Condition)


Code block එක loop වෙන එක නතර කරන්න් ඕන තැනට අදාල condition එක, මේක නැතිව syntax එක ගැහුවාම loop එක infinity කරන්න පුලුවන්, ඉස්සරහ්දි කතා කරමු ඒක ගැන.

 

  • Statement 3 (Increment and decrement)


Loop එක පටන් ගන්න ඊලගට variable එකට එන අගය වෙනස් කරන්න (අඩු හෝ වැඩි කරන්න) පාවිච්චි කරන condition එක


හරි දැන් පැහැදිලි කරගමු උදාරනෙකින් මේක,




දැන් ඔයාලට හිතාගන්න පුලුවන්ද syntax එකත් බලල උදාහරනෙත් බැලුවට පස්සේ ඇයි for Loop එක loop වෙන ප්‍රමානේ හරියටම දන්න program වලට විතරක් මේක use කරන්නේ කියලා. මේ loop එක අනන්තය වෙනකන් execute වෙන්න අරකෙ වගේම changeable condition එක මේකේ අයින් කරන්නයි තියෙන්නේ, හැබැයි මෙතනදී ඒම අයින් කරන විදිය වෙනස්. Initializing statement එක හා increment/Decrement එක විතරක් type කරලා නිකං ඉන්න බෑ, Changeable Condition එකක් දැම්මෙ නැතිවට ඒකට හිස් ඉඩක් තියන්න ඕන ඉඩක් තියන්න ඕන මොකද ඒක syntax එකේ කොටසක්. ඒක අයින් උනොත් අනන්තයට යනව නෙවී compilation error එකක් එන්නේ. 




සාමාන්‍ය programming වල සම්මතය තමා ඔයාට code Block එකක් හරහා කොපමණ වාර ගණනක් ලූප් කිරීමට අවශ්‍යද කියන එක හරිම idea එකක් තියෙයි නම් while loop එක වෙනුවට for loop භාවිතා කරන්න කියන එක, මොකද ඕනෑම තැනකදී while loop එකක් දාල තියෙයි නම් ඒකේ තේරුම ඔබට ඒ අදාල කොන්දේසියට යටත්ව program එක execute වෙල ඉවර වෙන්න ඕන කියන එක විතරයි, නමුත් ඔයා for loop එකක් use කරලා තියෙයි නම් එතනදී සාමාන්‍ය සම්මත විදියට තේරුම තමා for loop භාවිතා කිරීමෙන්, ඔයා පැහැදිලිවම පවසන්නේ ඔයාට program එක ඉවර කරන්න ඕන. හැබැයි ඒ අවසන් කිරීමේ කොන්දේසියක් සහිතව. මතකද කිව්ව තනි අකුරෙ නම් variable name එක විදියට ගන්නෙ නෑ, program එක run උනාට ඒක වැරැද්දක් සම්මතය නෙවී කියලා, අන්න ඒ වගේ. අනන්ත loop එක for loop එකෙනුත් execute කරගන්න පුලුවන් උනාට අපි එහෙම කරන්නෙ නෑ, ඒක තමා සම්මතය. ඒකයි කියන්නේ නවතින සීමාව දන්න ඒවට විතරක් for Loop එක දාන එක වඩා සුදුසුයි කියලා.



For -each Loop


කතාව පටන් ගමු For Each Loop එක ගැන. මෙක චුට්ටක් නුහුරට දැනෙයි Array ගැන කතා කරපු නැති නිසා, ඒත් array කියන වචනේ පාවිච්චි කලාට මෙතන වෙන සංසිද්දිය සම්පූර්ණයෙන්ම ඔයාට තේරෙන්න මම කියාදෙනවා චුට්ටක් වත් කලබල වෙන්නෙපා 😁.


හරි, මෙතනදී වෙන්නේ array එක හරහා loop වෙන එක. ඒ කියන්නේ array එකේ තියන elements හරහා තමා ලූප් වෙන්නේ. Syntax එක බලලා Example එක බලන්නකෝ, ඔයාට හොදටම තේරෙයි,


For (type variableName : arrayName)


{

//Code block have to be executed

}


දැන් යමු උදාහරනෙට,




තේරුනාද දැන්, මෙතනදී ඔයාට ප්‍රශ්න එයි, variable name එක දැම්ම විතරනේ, කී වෙනි variable එකද කියල දැම්මෙ නෑනේ, ඒත් පිලිවෙලටම උත්තරේ ආවනේ කියලා, මේ ඔක්කොටොම උත්තර array chapter එකේදී කතා කරලා ඉවර කරනවා, චුට්ටක් වත් හිතන්න එපා ඒක ගැන 😁. 


Java Break And Continue


Break මීට කලින් අපිට set උනා switch statement එකේදී, මතකයි නෙහ්. Program එකේ excess execution time එක ඉතුරු කරගන්න පුලුවන් මේකෙන් කියල ලොකු විස්තරයක් කතා කලේ, මතක නැත්නම් ටාර් ගාල ගිහින් break ගැන තිබ්බ post එක කියවලා එන්න. 


Java Break for loops


මතකනේ break use කලේ switch වලදී අදාල case එක බලලා ඒ condition එක true කරනව නම් program එකේ අවසානෙට jump වෙන්න අනික් කොටස් ලට නොයා. ඉතිම් loop වලදිත් ඒක ඒමම තමා loop එක අතරමැද්දාවෙන් break වෙලා program එක ඉවර කරන එක තමා break එකෙන් කරන්නේ. 


Break for, for loop


For loop එකට break දැම්මම මොකක්ද වෙන්නෙ කියලා උදාහරනෙකින් පැහැදිලි කරගමු,




උදාහරනේ සම්පූර්න්‍යෙන්ම පැහැදිලි කලොත් මෙතනදී දහවතාවක් run වෙන්න තියන loop එක හතර වතාවක් run වෙලා නතර වෙනවා, i==4 උනාම loop එක නතර කරන්න තමා අලුතෙන් add කරලා තිය්න code කෑලි දෙකේ තේරුම. 


දැන් වෙන්නෙ මොකක්ද කියල පැහැදිලීනේ, මං දන්නව දැන් කට්ටියට ආපු ඊලග ප්‍රශ්නෙ තමයි ඕකට තව ඕම code කෑල්ලක් දාගන program එක මොකට සංකීර්න කරගන්නවද, i<10 කියලා නොදා i<4 කියල දැම්ම නම් එක පාරම උත්තරේ ගන්න තිබුනා නේද කියලා, ඒකට උත්තරේ මම කලින්ම දුන්නා, මතක් නම් ඔයාලට. Break එකෙන් කරන්නේ program එකේ Execution time එක අඩු කරන එක. කී පාරක් loop උනත් for loop එක run වෙන්න යන කාලයේ වෙනසක් නෑ, ඒක එකම වෙලාව යන්නේ. ඒ කියන්නේ 10000 සැරයක් ලූප් උනත් 4 සැරයක් loop උනත් ඒ සඳහා ගත වෙන කාලය සමානයි, දැන් එතකොට ඔයාලට තේරෙන්න ඕන for loop එක මැදින් කඩන එකෙන් කාලය විශාල ලෙස ඉතුරු කරගන්න පුලුවන් වෙනවා කියන එක. හරි ඔන්න ඕක තමා For loop එකේ break වල කතාව.


Break for while loop


For loop එක විදියටම වාසිය run Time එක අඩු වෙන එකමයි Syntax එක එන් විදිය බලන්න පහල, 





Java Continue For loops


Continue statement එකෙන් කරන්නේ දීල තියන condition එකට අදාල කොටස loop එකෙන් අයින් කරල (break mentioned iteration from loop) ඊලග කොටසේ ඉදන් execute කරන එකමයි, ඒ කියන්නේ මෙතනදිත් වෙන්නේ break වීමක්ම තමයි, ඒත් ඒම break වෙන්නේ අපි mention කරන විශේශ එක කොටසක් විතරයි. Loop දෙකට එක එකකට් දීලා තියන් උදාහරණ ටික බලන්නකෝ. තේරෙයි ඔයාට,


Continue for, for loop




Continue for, while loop




ඔච්චරයි ඉතිම් Java Loops කියලා ඉගන ගන්න තියෙන්නේ, දැන් හරි ඒකත් එතකොට ඉවරයි. ඔයාල මේ ඉගන ගත්තේ java වල අතිශය වැදගත් කොටසක්.  ඊලග දවසේ අපි කතා කරනවා වගේම කතා කරලා ඉවර කරනව Java Array ගැන. මේකත් loop වගේම අති සුවිසල් අති වැදගත් කොටසක්. ඒක නිසා අනිවාරෙන්ම එන්න ඊලග කොටස බලන්න, array ත් ඉවර උනාම java Basics ඉවරයි, ඊට පස්සේ ඊලග ලොකු කොටසකට යන්නේ අපි java Methods 😁


අදට එහෙනම් මෙච්චරයි. Bye මගේ කොල්ලනේ කෙල්ලනේ 😁😽



No comments:

Post a Comment