Kotlin in Hindi – Control Flow

  • Introduction to kotlin control flow in Hindi
  • Kotlin if, when, for and while expressions in Hindi

Introduction to Kotlin Control Flow

कई बार आपको program के execution को control करने की आवश्यकता होती है, जब आप ऐसा करते है तो वह program के flow को control करना कहा जाता है।

उदाहरण के लिए आप चाहते है की program में कुछ statements एक निश्चित condition आने पर execute किये जाएँ और यदि वह condition नहीं आये तो उन statements को execute नहीं किया जाये।

यह program के execution को अपने अनुसार control करना होता है। यह सभी programming languages में किया जाता है।

Control Execution (or Flow) of Program

एक program किस प्रकार execute किया जायेगा यह control करने के लिए kotlin आपको control flow expressions provide करती है। ये expressions आपको अपने मनचाहे तरीके से program को execute करने में मदद करते है।

  • Decision Making
    • if else
    • when
  • Looping
    • for
    • while
    • do-while
  • Jumping
    • break
    • continue

Can be used as Expressions in Kotlin

कई programming languages में इन्हे control flow statements के रूप में भी जाना जाता है। लेकिन kotlin में इन्हे control flow expressions कहा गया है।

इसका कारण यह है की kotlin में इनको expression के रूप में भी आप किसी statement में use कर सकते है और ये values return करते है। यही कारण भी है की kotlin में इन्हे statements ना कहकर expressions कहा गया है।

इनमें से अधिकतर statements या expressions के बारे में आप पहले कई programming languages में पढ़ चुके होंगे। इनमें से when expression आपके लिए नया हो सकता है और for loop भी दूसरी programming languages से अलग है।

If – Else Expression

If else expression if और else keywords के माध्यम से बनता है। इसे आप traditional तरीके से भी use कर सकते है और expression के रूप में भी use कर सकते है।

जब आप इसे expression के रूप में use करते है तो इसके द्वारा कोई एक value return की जाती है जो की expression में use होती है।

if(condition) value1 else value2

जब आप इसे traditional तरीके से use करते है तो condition true और होने पर if part के और condition false होने पर else part के statements execute होते है।

if(condition)
{
    //statements to be executed when condition is true
}
else
{
    //statements to be executed when condition is false
}

Kotlin में ternary operator नहीं है क्योंकि आप if else को expression के रूप में use कर सकते है। 

val a: Int = 10
val b: Int = 20

 

//Traditional Way

if(a>b)
{
   print(“A is bigger.”)
}
else
{
   print(“B is bigger.”)
}

//As an Expression

max = if (a>b) a else b

print(max+”is Bigger”)

When Expression 

Kotlin में when expression c language में available switch statement की तरह ही है। इससे आप multiple conditions के अनुसार code को execute कर सकते है। इस expression के होने से आपको multiple conditions के लिए multiple if else expressions लिखने की आवश्यकता नहीं होती है।

When expression को भी आप एक expression के रूप में या traditional तरीके से use कर सकते है। जब इसे expression के रूप में use किया जाता है तो जो branch condition को fulfil करती है उसकी value expression की value बन जाती है।

when(branch)
{
   1 ->  //statement to be executed for case or branch 1
   2 -> //statement to be executed for case or branch 2
   else -> {
    //statements to be executed when no case matches.
}

जब when को traditional तरीके से use किया जाता है तो condition को satisfy करने वाली branch के statements execute कर दिए जाते है।

val color: Int = 2
when (color)
{
   1->print(“Red”)
   2->print(“Green”)
   3->print(“Blue”)
   else->{
                print(“No case matched”)
   }
}

जब आप when को expression के रूप में use करते है तो else block define किया जाना अनिवार्य होता है। Else block तब execute होता है जब दी गयी choice किसी भी branch से match नहीं करती है।

जब when को expression के रूप में use किया जाता है तो else block में default value रखी जाती है क्योंकि यदि कोई भी branch match नहीं करती है तो expression में null value आ सकती है। इससे बचने के लिए else block को define किया जाना आवश्यक होता है।

Combine Branch Conditions with Comma

कई branch conditions को एक साथ comma से separate करके combine भी किया जा सकता है। मान लीजिये आप कुछ branches के लिए same ही code define करना चाहते है तो ऐसे में ये उपयोगी होता है। 

Use Arbitrary Expressions as Conditions

Numbers की जगह expressions को भी branch के रूप में use किया जा सकता है। इससे आप कुछ conditions के अनुसार अलग अलग codes को execute कर सकते है।

For Loop 

Kotlin में for loop दूसरी programming languages से अलग है। यह कई programming languages में available foreach loop जैसा है।

Kotlin में for loop उन objects को iterate करता है जो iterator provide करते है।

for(item in collection)
{
     //loop body
}

एक object द्वारा iterator provide किये जाने का अर्थ है की उस object में iterator() function member या extension के रूप में available हो। इसके अलावा iterator() function के return type में next() और hasNext() function available होने चाहिए।

ये तीनो functions items को iterate करने में आवश्यक होते है। इन functions को operator के रूप में mark किया जाना चाहिए।

Numbers की range में iterate करने के लिए range expression use किया जाना चाहिए।

for(item in 1..9)
{
    //loop body
}

एक array को for loop द्वारा इस प्रकार iterate किया जाना चाहिए।

for(item in arr.indices)
{
    println(arr[item])
}

While & Do-while Loop 

Kotlin में while और do-while loop सभी programming languages के जैसे ही है। While loop तब iterate होता है जब तक की उसमे pass की condition true रहती है। जैसे ही condition false होती है while loop terminate हो जाता है।

while(cond)
{
    //statements to be executed until above condition is true
   //increment और decrement
}

While को terminating condition तक पहुँचाने के लिए यह आवश्यक है की उसमे increment या decrement किया जाये।

Do-while loop भी while loop की तरह ही होता है। इनमें फर्क सिर्फ इतना होता है की do-while loop एक बार अवश्य execute होगा ही होगा फिर चाहे condition true हो या false हो। क्योंकि do-while एक exit control loop है।

do
{
    //statements to be executed
    //increment or decrement
}while(cond)

break Label

Loop में break label का प्रयोग loop के execution को रोकने के लिए किया जाता है। Kotlin आपको  break statements को label के साथ define करने की ability provide करती है। यह label सभी प्रकार के loops में प्रयोग किया जाता है।

//other statements

 

for(item in 1..9)
{
   if(item==3)
   {
       break@startHereLabel
    }
}

//other statements

startHereLabel@

//other statements

जैसे break statement execute होता है loop terminate हो जाता है और execution उस label पर चला जाता है जो break के बाद define किया गया है।

continue Label

एक continue label भी break label के जैसा ही होता है। इनमें फर्क यह है की execute होने पर break for loop को terminate कर देता है और continue current iteration को skip कर देता है। Continue के साथ भी आप labels define कर सकते है जो indicate करते है की execution कँहा से शुरू होना चाहिए। 

for(item in 1..9)
{
    if(item==3)
    {
        continue
    }
}

Previous: Kotlin Variables
Next: Kotlin Classes