इस लेख में, आप विभिन्न उदाहरणों की मदद से कोटलिन में निर्माण करते समय सीखेंगे।
कोटलिन जब निर्माण
when
Kotlin में निर्माण जावा स्विच वक्तव्य के लिए एक स्थानापन्न के रूप में सोचा जा सकता है। यह कई विकल्पों के बीच कोड के एक खंड का मूल्यांकन करता है।
उदाहरण: सरल जब अभिव्यक्ति
fun main(args: Array) ( val a = 12 val b = 5 println("Enter operator either +, -, * or /") val operator = readLine() val result = when (operator) ( "+" -> a + b "-" -> a - b "*" -> a * b "/" -> a / b else -> "$operator operator is invalid operator." ) println("result = $result") )
जब आप प्रोग्राम चलाते हैं, तो आउटपुट कुछ इस तरह होगा:
ऑपरेटर को +, -, * या / * परिणाम = 60 दर्ज करें
उपरोक्त कार्यक्रम उपयोगकर्ता से एक इनपुट स्ट्रिंग लेता है (अनुशंसित पढ़ना: कोटलिन में उपयोगकर्ता से स्ट्रिंग इनपुट प्राप्त करें)। मान लीजिए, उपयोगकर्ता ने प्रवेश किया *
। इस स्थिति में, अभिव्यक्ति a * b
का मूल्यांकन किया जाता है, और मान चर परिणाम को सौंपा जाता है।
शाखा की स्थिति से कोई भी संतुष्ट कर रहे हैं (उपयोगकर्ता के अलावा कुछ में प्रवेश किया +
, -
, *, या /
,) else
शाखा मूल्यांकन किया जाता है।
उपरोक्त उदाहरण में, हमने when
एक अभिव्यक्ति के रूप में उपयोग किया । हालांकि, when
अभिव्यक्ति के रूप में उपयोग करना अनिवार्य नहीं है । उदाहरण के लिए,
fun main(args: Array) ( val a = 12 val b = 5 println("Enter operator either +, -, * or /") val operator = readLine() when (operator) ( "+" -> println("$a + $b = $(a + b)") "-" -> println("$a - $b = $(a - b)") "*" -> println("$a * $b = $(a * b)") "/" -> println("$a / $b = $(a / b)") else -> println("$operator is invalid") ) )
जब आप प्रोग्राम चलाते हैं, तो आउटपुट कुछ इस तरह होगा:
ऑपरेटर को +, -, * या / - 12 - 5 = 7 दर्ज करें
यहाँ, when
एक अभिव्यक्ति नहीं है ( when
कुछ भी नहीं दिया गया है से वापसी मूल्य )। इस मामले में, else
शाखा अनिवार्य नहीं है।
कुछ संभावनाएं
अल्पविराम के साथ दो या अधिक शाखा शर्तों को मिलाएं। उदाहरण के लिए,
fun main(args: Array) ( val n = -1 when (n) ( 1, 2, 3 -> println("n is a positive integer less than 4.") 0 -> println("n is zero") -1, -2 -> println("n is a negative integer greater than 3.") ) )
जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:
n एक नकारात्मक पूर्णांक 3 से अधिक है।
रेंज में मूल्य की जाँच करें। उदाहरण के लिए,
fun main(args: Array) ( val a = 100 when (a) ( in 1… 10 -> println("A positive number less than 11.") in 10… 100 -> println("A positive number between 10 and 100 (inclusive)") ) )
जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:
10 और 100 के बीच एक सकारात्मक संख्या (समावेशी)
जांचें कि क्या मान किसी विशेष प्रकार का है।
यह जाँचने के लिए कि क्या रनटाइम में कोई विशेष प्रकार का मान है, हम उपयोग कर सकते हैं और ऑपरेटर है। उदाहरण के लिए,
जब (x) (इंट -> प्रिंट (x + 1) स्ट्रिंग है -> प्रिंट (x.length + 1) IntArray है -> प्रिंट (x.sum ()))
अभिव्यक्ति का उपयोग शाखा की स्थिति के रूप में करें। उदाहरण के लिए,
fun main(args: Array) ( val a = 11 val n = "11" when (n) ( "cat" -> println("Cat? Really?") 12.toString() -> println("Close but not close enough.") a.toString() -> println("Bingo! It's eleven.") ) )
जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:
बिंगो! यह ग्यारह है।