शुरुआती लोगों के लिए कोटलिन ट्यूटोरियल (उदाहरण)

कोटलिन क्या है?

Kotlin एक ओपन-सोर्स स्टेटिकली टाइप्ड प्रोग्रामिंग भाषा है जो चलती है Java वर्चुअल मशीन (JVM)। यह ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOPs) और फंक्शनल प्रोग्रामिंग को अप्रतिबंधित, आत्मनिर्भर और विशिष्ट प्लेटफ़ॉर्म में जोड़ता है। यह छोटे कोड द्वारा कार्यक्षमताओं को जोड़ने की भी अनुमति देता है। कोटलिन एक सामान्य प्रयोजन प्रोग्रामिंग भाषा है जिसे जेटब्रेन्स द्वारा डिज़ाइन किया गया था।

कोटलिन का इतिहास

कोटलिन के इतिहास से कुछ महत्वपूर्ण बातें इस प्रकार हैं:

साल कार्यक्रम
2016 कोटलिन v1.0 लॉन्च किया गया
2017 एंड्रॉयड में कोटलिन के प्रथम श्रेणी समर्थन पर गूगल की घोषणा
2018 कोटलिन v1.2 JVM और के बीच कोड वितरित करने के लिए ऐड-ऑन के साथ आता है Javaलिपि
2019 गूगल ने कोटलिन को अपनी पसंदीदा प्रोग्रामिंग भाषा घोषित किया है। Android एप्लिकेशन डेवलपर्स
2021 20 सितंबर, 2021 को कोटलिन v1.5.31 लॉन्च किया गया।

कोटलिन का उपयोग करने के कारण

यहां कुछ महत्वपूर्ण कारण दिए गए हैं कि क्यों कोटलिन का व्यापक रूप से उपयोग किया जाता है:

  • कोटलिन एक स्टेटिकली-टाइप्ड भाषा है जिसे पढ़ना और लिखना बहुत आसान है।
  • कोटलिन प्रोग्राम में सेमीकोलन की आवश्यकता नहीं होती। इससे कोड आसान और अधिक पठनीय हो जाता है।
  • यह भाषा सूचनाओं के आदान-प्रदान और उपयोग की अनुमति देती है Java विभिन्न तरीकों से। Java और कोटलिन कोड एक ही प्रोजेक्ट में सह-अस्तित्व में रह सकते हैं।
  • कोटलिन की प्रकार प्रणाली का उद्देश्य कोड से NullPointerException को हटाना है।
  • कोटलिन में नया कोड लिखने में आपको कम समय लगेगा। कोटलिन कोड को तैनात करना और इसे बड़े पैमाने पर बनाए रखना और भी आसान है।

कोटलिन की विशेषताएं

यहां कोटलिन की कुछ विशेषताएं दी गई हैं जो आपको प्रोग्रामिंग भाषा के प्रगति पथ के बारे में आश्वस्त करेंगी।

ट्रिम्ड कोडिंग:

कोटलिन एक ओओपी-आधारित प्रोग्रामिंग भाषा है, जहां कोड लाइन को 40% तक ट्रिम किया जा सकता है, जो कोटलिन को सॉफ्टवेयर या वेब विकास के लिए एक आदर्श विकल्प बनाता है।

खुला स्त्रोत:

कोटलिन के लिए Android JVM का उपयोग करता है और OOPs और कार्यात्मक-उन्मुख प्रोग्रामिंग की विशेषताओं को जोड़ता है।

तीव्र संकलन:

कोटलिन के साथ काम करते समय कोड को संकलित करना आसान है जिसके परिणामस्वरूप एंड्रॉइड विकास के लिए बेहतर प्रदर्शन होता है, और यह यह भी बताएगा कि पूरे कोड में किस प्रकार के डेटा फ़ंक्शन का उपयोग किया जा सकता है।

विस्तार कार्य:

कोटलिन कोड में कोई भी बदलाव किए बिना विभिन्न एक्सटेंशन फ़ंक्शनों का समर्थन कर सकता है। यह डेवलपर्स के लिए मौजूदा कोड को अधिक आकर्षक और शानदार बनाने में मदद करता है।

उदाहरण के लिए:

Fun String.removeFirstLastChar():
String = this.substring(1, this.length -1)

यह कोड स्ट्रिंग के पहले और अंतिम अक्षर को छोटा करने में सहायता करेगा, हम इसे इस प्रकार लागू कर सकते हैं:

Val string1 = "Today is cloudy."
Val string2 = string1.removeFirstLastChar()

शून्य सुरक्षा:

कोटलिन में, सिस्टम शून्य संदर्भों और गैर-शून्य संदर्भों के बीच अंतर करता है जैसा कि नीचे कोटलिन उदाहरण में दिखाया गया है।

उदाहरण के लिए, एक स्ट्रिंग चर शून्य नहीं रख सकता:

Var string1: String = "Today is Sunday"
String1 = null  // compilation error
To permit null, we can adjoin the nullable variable :
Var string2: String? = "Today is Sunday"
String2 = null
print(string2)

इंटरऑपरेबल:

कोटलिन कोड का उपयोग किसके द्वारा किया जा सकता है? Java, तथा Java कोड को कोटलिन के साथ इस्तेमाल किया जा सकता है। इसलिए, अगर आपको इसके बारे में जानकारी है उफ़ प्रोग्रामिंग के लिए, कोटलिन के विकास पर स्विच करना आसान है। इसके अलावा, अगर कुछ एप्लिकेशन लिखे गए हैं Java, तो उन्हें कोटलिन के वातावरण के साथ उपयोग किया जा सकता है।

मजबूत उपकरण:

पसंद Javaकोटलिन कोड को IDE या कमांड-लाइन इंटरफ़ेस का उपयोग करके भी लिखा जा सकता है। IDE के साथ काम करना आसान है, और सिंटैक्स त्रुटियाँ भी नाटकीय रूप से कम हो जाती हैं। वहीं, जब आप कमांड-लाइन इंटरफ़ेस के साथ काम कर रहे होते हैं, तो कोड को पहले संकलित करना पड़ता है।

स्मार्ट कास्ट:

स्मार्ट कास्टिंग मूल रूप से एप्लिकेशन की लागत को कम करने और इसकी गति या प्रदर्शन को बेहतर बनाने में मदद करता है। यह टाइप कास्टिंग या अपरिवर्तनीय मूल्यों का उपयोग करके कोड की दक्षता को प्रबंधित करने पर काम करता है।

उदाहरण के लिए, यदि स्ट्रिंग की पहचान हो जाती है, तो इसकी लंबाई और गिनती स्मार्ट कास्ट फ़ंक्शन की सहायता से ज्ञात की जा सकती है:

Val string1: Any = "Today is Monday"
when(string1)
{
is String  -> string1.length
Is Int -> string1.inc()
}

गोद लेने की कम लागत:

कोटलिन को अपनाने की लागत कम होने के कारण उद्यम पसंद करते हैं। सबसे महत्वपूर्ण बात यह है कि इसे डेवलपर्स द्वारा सीखना आसान है, खासकर प्रोग्रामिंग पृष्ठभूमि वाले डेवलपर्स द्वारा।

कोटलिन पर्यावरण सेटअप

निम्नलिखित चरण आपको कोटलिन स्थापित करके कार्य वातावरण स्थापित करने में मदद करेंगे।

चरण 1) स्थापित करें Java

जैसा कि हमने पहले चर्चा की है कि कोटलिन पर आधारित है Java, तो आपको स्थापित करना होगा Java कोटलिन को अपनाने की योजना बनाते समय सबसे पहले। हमारा संदर्भ लें Java स्थापना ट्यूटोरियल.

चरण 2) स्थापित करें Java IDEs

सौभाग्य से, वहाँ कई हैं Java IDEs यहाँ हमने आपके लिए चीजों को थोड़ा आसान बनाने के लिए डाउनलोड लिंक दिए हैं।

इस कोटलिन ट्यूटोरियल में, हम उपयोग करेंगे Eclipse.

चरण 3) कोटलिन स्थापित करें

कोटलिन को स्थापित करने के लिए Eclipse, सहायता अनुभाग पर जाएँ Eclipse और क्लिक करें Eclipse बाज़ार विकल्प.

कोटलिन पर्यावरण सेटअप

अब, सर्च बॉक्स में Kotlin कीवर्ड टाइप करें। प्लगइन को लिस्ट करने के लिए Go ऑप्शन पर क्लिक करें। यह आपको Kotlin प्लग-इन का लिंक देगा, आपको दिए गए लिंक से प्लग-इन इंस्टॉल करना होगा।

कोटलिन पर्यावरण सेटअप

कृपया पुनः प्रारंभ करें Eclipse आईडीई, एक बार इंस्टॉलेशन पूरा हो जाने पर। आप ऊपरी दाएँ कोने में एक शॉर्टकट आइकन पा सकते हैं Eclipse आईडीई. यह एक त्वरित पहुँच विधि है।

कोटलिन पर्यावरण सेटअप

कोटलिन तक पहुंचने का एक और तरीका Eclipse आईडीई है, पर जाएँ Windows, परिप्रेक्ष्य, परिप्रेक्ष्य खोलें, फिर अन्य विकल्प चुनें। यहां, आप बाद में इंस्टॉल किए गए प्लगइन्स की सूची देख सकते हैं, जैसा कि नीचे दिया गया है।

कोटलिन पर्यावरण सेटअप

एक बार जब आपने कोटलिन की स्थापना सत्यापित कर ली है, तो अगले चरण में पहला कोटलिन प्रोग्राम बनाएं।

चरण 4) पहला कोटलिन प्रोग्राम

अपने पहले कोटलिन प्रोजेक्ट से शुरुआत करें। फ़ाइल मेनू से, नया विकल्प चुनें, फिर अन्य चुनें और सूची से एक नए कोटलिन प्रोजेक्ट से शुरुआत करें।

कोटलिन पर्यावरण सेटअप

अब, आपको प्रोजेक्ट के लिए एक नाम परिभाषित करना होगा, और आप कोटलिन के साथ काम करने के लिए तैयार हैं।

कोटलिन पर्यावरण सेटअप

इन सरल चरणों के साथ, इसे डाउनलोड करना आसान है Eclipse और अपने सिस्टम पर Kotlin स्थापित करें और तुरंत अपना पहला Kotlin प्रोग्राम लिखें।

Archiकोटलिन की तकनीक

किसी एप्लिकेशन के लिए अपनी विशेषताओं को बढ़ाने और अंतिम उपयोगकर्ता आधार की अपेक्षाओं को पूरा करने के लिए एक अच्छी तरह से निर्मित वास्तुकला महत्वपूर्ण है। मेमोरी आवंटित करने और डेवलपर्स और अंतिम उपयोगकर्ताओं के लिए गुणवत्तापूर्ण परिणाम प्राप्त करने के लिए कोटलिन की अपनी अनूठी और विशिष्ट वास्तुकला है।

कोटलिन के कोरूटीन और क्लास कोर को इस तरह से आर्किटेक्ट करते हैं कि कम बॉयलरप्लेट कोड का उत्पादन हो, प्रदर्शन को बढ़ाया जाए और दक्षता को मजबूत किया जाए। ऐसे कई परिदृश्य हैं जहाँ कोटलिन कंपाइलर अलग-अलग तरीके से प्रतिक्रिया कर सकता है, खासकर जब यह विभिन्न प्रकार की भाषाओं को चिह्नित कर रहा हो।

Archiकोटलिन की तकनीक
Archiकोटलिन की तकनीक

आर्किटेक्चर आरेख में यह स्पष्ट है कि कोड निष्पादन तीन आसान चरणों में किया जाता है।

  1. पहले चरण में, “.kt” या kotlin फ़ाइल को कंपाइलर में जोड़ा जाता है।
  2. दूसरे चरण में, कोटलिन कंपाइलर कोड को बाइटकोड में परिवर्तित करता है।
  3. तीसरे चरण में, बाइटकोड डाला जाता है Java आभासी मशीन और JVM द्वारा निष्पादित किया जाता है.

जब कुछ बाइट कोड वाली फाइलें JVM पर काम करती हैं, तो वे आपस में आपसी संचार को बढ़ावा देती हैं, यही कारण है कि कोटलिन में जावा के लिए इंटरऑपरेबिलिटी नामक सुविधा का जन्म हुआ।

कोटलिन का क्रियान्वयन Javaस्क्रिप्ट तब होती है जब कोटलिन लक्ष्य करता है Javaस्क्रिप्ट।

जब Javaस्क्रिप्ट का लक्ष्य चुना जाता है, कोटलिन का कोई भी कोड जो लाइब्रेरी का हिस्सा है और कोटलिन के साथ चलता है, उसे फिर से फैला दिया जाता है Javaस्क्रिप्ट। हालाँकि, Java डेवलपमेंट किट (JDK) या किसी भी जावा लाइब्रेरी का उपयोग इसमें शामिल नहीं है।

इस तरह के ऑपरेशन के दौरान एक गैर-कोटलिन फ़ाइल को ध्यान में नहीं रखा जाता है। Javaस्क्रिप्ट .kt फ़ाइल को कोटलिन कंपाइलर द्वारा ES5.1 में परिवर्तित किया जाता है ताकि एक सुसंगत कोड उत्पन्न किया जा सके Javaस्क्रिप्ट। कोटलिन कंपाइलर एक इष्टतम आकार का आउटपुट, मौजूदा मॉड्यूल के साथ अंतर-संचालन, मानक लाइब्रेरी के साथ समान कार्यक्षमता और आउटपुट का प्रयास करता है Javaस्क्रिप्ट पठनीय.

चर्चा से यह स्पष्ट है कि कोटलिन कम्पाइलर्स अधिक कुशल, सक्षम और स्वतंत्र कोड बना सकते हैं, जिसके परिणामस्वरूप उच्च प्रदर्शन वाला सॉफ्टवेयर उत्पाद प्राप्त होता है।

कोटलिन वेरिएबल

चर का उपयोग प्रोग्राम में हेरफेर और संदर्भित किए जाने वाले डेटा को संग्रहीत करने के लिए किया जाता है। यह मूल रूप से डेटा संग्रहीत करने और लेबल करने की एक इकाई है जो एक व्याख्यात्मक उपनाम की प्रतीक्षा करती है ताकि प्रोग्राम को पढ़ना आसान हो और समझना आसान हो। दूसरे शब्दों में, हम कह सकते हैं कि चर जानकारी एकत्र करने के लिए कंटेनर हैं।

कोटलिन में, सभी वैरिएबल घोषित किए जाने चाहिए। हालाँकि, यदि कोई वैरिएबल घोषित नहीं किया गया है, तो यह एक सिंटैक्स त्रुटि के रूप में सामने आता है। साथ ही, वैरिएबल की घोषणा यह निर्धारित करती है कि हम वैरिएबल में किस प्रकार का डेटा स्टोर करने की अनुमति दे रहे हैं। कोटलिन में, वैरिएबल को val और var कीवर्ड का उपयोग करके परिभाषित किया जा सकता है। कोटलिन में वैरिएबल घोषित करने का सिंटैक्स इस प्रकार है:

Var day = "Monday"
Var number = 3

यहाँ, हमने स्थानीय चर day घोषित किया है जिसका मान “Monday' है और जिसका प्रकार स्ट्रिंग है और एक अन्य स्थानीय चर संख्या है जिसका मान 3 है और जिसका प्रकार Int है क्योंकि यहां लिटरल पूर्णांक प्रकार का है जो 3 है।

स्थानीय चर को आम तौर पर एक साथ घोषित और आरंभ किया जाता है। हम कोटलिन चर को आरंभ करते समय कुछ निश्चित ऑपरेशन भी कर सकते हैं।

हम एक ही डेटा टाइप के वेरिएबल पर ऑपरेशन कर सकते हैं, जैसे कि यहाँ num1 और num2 दोनों एक ही डेटा टाइप के हैं जो कि Int है, जबकि day स्ट्रिंग डेटा टाइप का है। इसलिए, यह एक त्रुटि दिखाएगा। यहाँ एक और तकनीक है कि आप कोटलिन में वेरिएबल को कैसे परिभाषित कर सकते हैं।

var day : String = "GURU99"
var num : Int = 100

आइए देखें कि var और val कीवर्ड एक दूसरे से कैसे भिन्न हैं।

वर :

Var किसी भी प्रोग्रामिंग भाषा में इस्तेमाल किया जाने वाला एक सामान्य चर है जिसका इस्तेमाल एक ही प्रोग्राम में कई बार किया जा सकता है। इसके अलावा, आप किसी भी प्रोग्राम में इसका मान कभी भी बदल सकते हैं। इसलिए, इसे परिवर्तनशील चर के रूप में जाना जाता है।

यहाँ कोटलिन में परिवर्तनीय चर का एक उदाहरण दिया गया है:

var num1 = 10
Var num2 = 20
Num1 = 20
print(num1 + num2) // output : 40

यहाँ num1 का मान जो कि 20 है, num1 के पिछले मान जो कि 10 है, से अधिलेखित कर दिया गया है। इसलिए num1 + num2 का आउटपुट 40 के बजाय 30 है।

मूल्य:

वैल एक स्थिर चर की तरह है, और आप प्रोग्राम में बाद में इसका मान नहीं बदल सकते, जिसे न तो एक ही प्रोग्राम में कई बार असाइन किया जा सकता है और न ही किसी विशेष प्रोग्राम में केवल एक बार इस्तेमाल किया जा सकता है। इसलिए, इसे अपरिवर्तनीय चर के रूप में जाना जाता है।

यहाँ कोटलिन में अपरिवर्तनीय चरों का एक कोटलिन प्रोग्राम उदाहरण दिया गया है:

Val num1 = 10
Var num2 = 20

यहाँ, num1 का मान जो 10 है, उसे num1 के नए मान जो 20 है, से अधिलेखित नहीं किया जा सकता, क्योंकि यह val प्रकार का है जो स्थिर है। इसलिए, आउटपुट 30 के बजाय 40 है।

नोटकोटलिन में, परिवर्तनीय चरों की तुलना में अपरिवर्तनीय चरों को प्राथमिकता दी जाती है।

कोटलिन में डेटा प्रकार

डेटा प्रकार संबंधित मानों का सेट होते हैं और उन पर संचालित किए जा सकने वाले ऑपरेशनों का वर्णन करते हैं। अन्य प्रोग्रामिंग भाषाओं की तरह, कोटलिन में भी डेटा प्रकारों का अपना पूर्वनिर्धारित सेट होता है जैसे कि Int, Boolean, Char, Double, आदि

कोटलिन में, प्रत्येक डेटा प्रकार को एक ऑब्जेक्ट माना जाता है।

अब इस कोटलिन बेसिक ट्यूटोरियल में, आइए कोटलिन में प्रयुक्त पूर्वनिर्धारित डेटा प्रकारों पर गहराई से नजर डालें।

Numbers :

कोटलिन में अंतर्निहित डेटा प्रकारों का एक सेट होता है, जिन्हें संख्याओं के रूप में जाना जाता है, जिन्हें पूर्णांक और फ़्लोटिंग-पॉइंट के रूप में उप-वर्गीकृत किया जाता है Numbers.

पूर्णांक :

पूर्णांक संख्याओं की वह श्रेणी है जिसके चार प्रकार होते हैं:

प्रकार आकार (बिट्स) न्यूनतम मूल्य अधिकतम मूल्य
बाइट 8 -128 127
कम 16 -32768 32767
Int 32 -2,147,483,648 (-231) 2,147,483,647 (231 - 1)
लंबा 64 -9,223,372,036,854,775,808 (-263) 9,223,372,036,854,775,807 (263 - 1)

चल बिन्दु Numbers :

चल बिन्दु Numbers वे गैर-पूर्णांक संख्याएँ हैं जिनमें कुछ दशमलव मान होते हैं।

फ्लोट: फ्लोट एक 32-बिट एकल-परिशुद्धता फ्लोटिंग-पॉइंट मान है।

उदाहरण: var: फ्लोट x = 3.25600

Double: Double एक 64-बिट डबल-प्रिसिज़न फ़्लोटिंग पॉइंट मान है।

उदाहरण: var: Double y = 2456.345587

बूलियन :

कोटलिन में बूलियन डेटा प्रकार तार्किक मानों को दर्शाने के लिए महत्वपूर्ण है। बूलियन में केवल दो संभावित मान हैं जो या तो सत्य या असत्य हैं।

उदाहरण के लिए: वैल दिन = सत्य

वैल दिन2 = गलत

चरित्र:

कोटलिन में वर्णों को char नामक कीवर्ड की मदद से दर्शाया जाता है। कोटलिन में, सिंगल कोट्स char की घोषणा को दर्शाते हैं। जावा में, char का उपयोग कभी-कभी संख्याओं के रूप में किया जाता है जो कोटलिन में संभव नहीं है।

उदाहरण के लिए:

val onechar = 'x'
print(onechar) //  output : x
Val onedigit = '7'
print(onedigit) // output : 7

कोटलिन प्रकार रूपांतरण या कोटलिन प्रकार कास्टिंग

टाइप कन्वर्जन एक प्रकार के डेटा वैरिएबल को दूसरे डेटा टाइप वैरिएबल में बदलने की प्रक्रिया है। इसे आमतौर पर टाइप कास्टिंग के नाम से भी जाना जाता है।

विशेष रूप से, Java, अंतर्निहित प्रकार के प्रकार रूपांतरण या छोटे डेटा प्रकार से बड़े डेटा प्रकार में टाइपकास्टिंग के अंतर्निहित प्रकार का समर्थन किया जाता है।

For Example : int abc = 15;
Long bcd = abc; // compiles successfully

हालाँकि, कोटलिन में, छोटे डेटा प्रकार का बड़े डेटा प्रकार में अंतर्निहित रूपांतरण बिल्कुल भी समर्थित नहीं है, अर्थात int डेटा प्रकार को अंतर्निहित रूप से लंबे डेटा प्रकार में परिवर्तित नहीं किया जा सकता है।

For Example : var abc = 15
Val bcd : Long = abc // error

हालाँकि, कोटलिन में, प्रकार रूपांतरण स्पष्ट रूप से किया जाता है। यहाँ सहायक फ़ंक्शन का मार्गदर्शन आता है जो एक डेटा प्रकार चर को दूसरे में परिवर्तित करने का मार्गदर्शन करता है।

कुछ सहायक फ़ंक्शन हैं जो एक डेटा प्रकार को दूसरे में रूपांतरण के लिए पहले से ही मौजूद हैं:

toInt()

टूबाइट()

टूशॉर्ट()

टूचर()

लंबे समय तक()

टूफ्लोट()

सेवा मेरेDouble()

For Example : var abc = 15
Val bcd : Long = abc.toLong() // compiles successfully

Kotlin Operaमरोड़

Operaटोर महत्वपूर्ण और विशेष वर्ण या प्रतीक हैं जो ऑपरेंड में संचालन को सुनिश्चित करते हैं जिनमें चर और मान होते हैं। कोटलिन में, ऑपरेटरों का एक सेट है जो अंकगणितीय संचालन, असाइनमेंट ऑपरेशन, तुलना ऑपरेशन आदि जैसे विभिन्न ऑपरेशनों में उपयोग किया जाता है।

अंकगणित Operaटॉर्स :

अंकगणितीय ऑपरेटरों का उपयोग जोड़, घटाव, गुणा, भाग और मापांक के लिए किया जाता है।

Operaटो अर्थ
+ योग (स्ट्रिंग संयोजन के लिए भी उपयोग किया जाता है)
- घटाव Operaटो
* गुणन Operaटो
/ विभाजन Operaटो
% मापांक Operaटो

उदाहरण के लिए:

var x = 10
var y = 20
var z = ( ( x + y ) * ( x + y ) ) / 2     

यहां निम्नलिखित कोड का आउटपुट 45 है।

तुलना Operaटॉर्स :

तुलना ऑपरेटर का उपयोग दो मानों, दो चरों या दो संख्याओं की तुलना करने के लिए किया जाता है। इसका उपयोग से अधिक चिह्न (>), से कम चिह्न (<) और बराबर चिह्न (==), प्रतीक के बराबर नहीं (!=), प्रतीक के बराबर से अधिक (>=), प्रतीक के बराबर से कम (<=) के साथ किया जाता है। इसका परिणाम हमेशा सत्य या असत्य होता है।

उदाहरण के लिए:

var x = 10
Var y =20
Var z = x < y // Output : true
Var w = x > y // Output : false
Var m = x == y // Output : false

असाइनमेंट Operaटॉर्स :

असाइनमेंट Operaअंकगणितीय रूप से संचालित मान निर्दिष्ट करने के लिए टॉर्स का उपयोग किया जाता है। इसका उपयोग +=, -=, *=, /=, %= जैसे प्रतीकों के साथ किया जाता है।

उदाहरण के लिए:

var x = 10
var y = 20
var x + = y // Output : 30
Var y - = x // Output : 10
Var x * = y // Output : 200

वृद्धि और कमी Operaटॉर्स :

इन्क्रीमेंट और डिक्रीमेंट ऑपरेटर का उपयोग वेरिएबल या संख्या के मान को बढ़ाने और घटाने के लिए किया जाता है। इसका उपयोग ++ और — जैसे प्रतीकों की मदद से किया जाता है।

वृद्धि और कमी दो प्रकार की होती है: पूर्व-वृद्धि ++a, पश्च-वृद्धि a++, पूर्व-कमी –b, पश्च-कमी b–।

उदाहरण के लिए:

var a = 10
var b = 20
var c = a++ // Output: 11
var d = b— //Output : 19     

कोटलिन एरेज़

ऐरे डेटा प्रकारों का समरूप समूह है और यह सबसे मौलिक डेटा प्रकारों में से एक है जिसका उपयोग एक ही प्रकार के डेटा को सन्निहित मेमोरी स्थान में संग्रहीत करने के लिए किया जाता है। किसी भी प्रोग्रामिंग भाषा में डेटा के संगठन के लिए ऐरे महत्वपूर्ण है ताकि एक ही स्थान पर संग्रहीत कई डेटा को खोजना या सॉर्ट करना आसान हो।

कोटलिन में, सरणियाँ मूल डेटा प्रकार न होकर समान डेटा प्रकारों का परिवर्तनशील सहयोग होती हैं।

कोटलिन में एक सरणी के कुछ गुण यहां दिए गए हैं

  • एक बार घोषित होने के बाद सारणी का आकार नहीं बदला जा सकता।
  • कोटलिन में ऐरे परिवर्तनशील हैं।
  • सारणी सन्निहित मेमोरी स्थानों में संग्रहित होती हैं।
  • किसी सरणी को a[1], a[2], इत्यादि जैसे इंडेक्स की सहायता से एक्सेस किया जा सकता है।
  • किसी सारणी का सूचकांक शून्य से शुरू होता है जो कि a[0] है।

कोटलिन में, एक सरणी को दो अलग-अलग तरीकों से परिभाषित किया जा सकता है

arrayOf() फ़ंक्शन का उपयोग करके:

कोटलिन में, लाइब्रेरी फ़ंक्शन का एक प्रमुख उपयोग है। ऐसा ही एक लाइब्रेरी फ़ंक्शन arrayOf() फ़ंक्शन है, जिसका उपयोग फ़ंक्शन में वेरिएबल के मानों को पास करके एक ऐरे को परिभाषित करने के लिए किया जाता है।

उदाहरण के लिए: arrayOf() फ़ंक्शन का उपयोग करके सरणी का अंतर्निहित प्रकार घोषणा

val x = arrayOf(1,2,3,4,5,6,7,8,9)

उदाहरण के लिए: arrayOf() फ़ंक्शन का उपयोग करके सरणी की स्पष्ट प्रकार घोषणा करें।

Val y = arrayOf<Int>(1,2,3,4,5,6,7,8,9)

ऐरे कन्स्ट्रक्टर का उपयोग करके:

कोटलिन में, Array नाम से एक क्लास है। इसलिए, एक ऐरे बनाने के लिए कन्स्ट्रक्टर के ऐरे का उपयोग करना संभव है। कन्स्ट्रक्टर में ऐरे में दो प्रमुख पैरामीटर होते हैं।

कोटलिन में किसी ऐरे का इंडेक्स क्या है?

वह फ़ंक्शन जहाँ सरणी इंडेक्स, इंडेक्स का प्रारंभिक मान लौटाने के लिए स्वीकार्य है।

उदाहरण के लिए:

val abc = Array(7 , { i -> i*1})

यहां, array का मान 7 है और तत्व के मानों को आरंभ करने के लिए lambda अभिव्यक्ति का उपयोग किया जाता है।

कुछ फ़ंक्शन का उपयोग करके ऐरे तक पहुँचने और उसे संशोधित करने के लिए भी कई विधियाँ हैं। इसलिए, दो सदस्य फ़ंक्शन get() और set() हैं, जिनका उपयोग क्लास ऐरे के ऑब्जेक्ट तक पहुँचने के लिए किया जाता है।

उदाहरण के लिए:

val x = arrayOf(10,20,30,40,50,60,70,80,90)
val y = x.get(0) // Output 10

यहाँ, आउटपुट 10 है क्योंकि सारणी के सूचकांक 0 पर मान 10 है

नोट: get() केवल एकल मान लेता है

उदाहरण के लिए:

val x = arrayOf(10,20,30,40,50,60,70.80.90)
val y = x.set(2, 3) //

आउटपुट : 30 40

यहाँ, आउटपुट 30 और 40 है क्योंकि सारणी के सूचकांक 2 पर मान 30 है और सूचकांक 3 पर यह 40 है।

नोट: set() एक सारणी के एकाधिक मान लेता है।

कोटलिन स्ट्रिंग्स

स्ट्रिंग किसी भी प्रोग्रामिंग भाषा में एक बुनियादी डेटा प्रकार है। स्ट्रिंग कुछ और नहीं बल्कि वर्णों का एक क्रम है। स्ट्रिंग क्लास वर्ण स्ट्रिंग का प्रतिनिधित्व करता है। कोटलिन में, सभी स्ट्रिंग स्ट्रिंग क्लास के ऑब्जेक्ट हैं, जिसका अर्थ है कि स्ट्रिंग लिटरल को क्लास के इंस्टेंस के रूप में लागू किया जाता है।

सिंटेक्स:

 Val myString = "Hey there!"

कोटलिन संग्रह

एक संग्रह में एक ही प्रकार के कई ऑब्जेक्ट होते हैं, और संग्रह में इन ऑब्जेक्ट को तत्व या आइटम कहा जाता है। संग्रह डेटा को संग्रहीत करने, पुनर्प्राप्त करने, हेरफेर करने और एकत्र करने में मदद कर सकता है।

संग्रह के प्रकार:

अपरिवर्तनीय संग्रह

इस प्रकार का संग्रह केवल पढ़ने की कार्यक्षमता का समर्थन करता है। इसके तत्वों को संशोधित नहीं किया जा सकता है।

विधियों में शामिल हैं:

  • सूची – listOf() और listOf ()
  • सेट – setOf()
  • मानचित्र – mapOf()

परिवर्तनीय संग्रह

यह पढ़ने और लिखने दोनों कार्यक्षमता का समर्थन करता है।

विधियों में शामिल हैं

  • सूची – mutableListOf(),arrayListOf() और ArrayList
  • सेट – mutableSetOf(), hashSetOf()
  • मानचित्र – mutableMapOf(), hashMapOf() और HashMap

कोटलिन फ़ंक्शन

किसी भी प्रोग्रामिंग भाषा में फ़ंक्शन समान कथनों का एक समूह होता है जिसे किसी विशिष्ट कार्य को करने के लिए निर्दिष्ट किया जाता है। फ़ंक्शन किसी प्रोग्राम को इसे विभिन्न छोटे कोड ब्लॉकों में विभाजित करने की अनुमति देता है। कोड का यह विभाजन कोड की पठनीयता, कोड की पुनः प्रयोज्यता को बढ़ाता है, और प्रोग्राम को प्रबंधित करना आसान बनाता है।

चूंकि कोटलिन को स्टेटिकली टाइप्ड भाषा के रूप में जाना जाता है। यहां, फ़ंक्शन घोषित करने के लिए 'fun' कीवर्ड का उपयोग किया जाता है। कोटलिन में, दो प्रकार के फ़ंक्शन हैं जो पूरी तरह से मानक लाइब्रेरी या उपयोगकर्ता परिभाषा में इसकी उपलब्धता पर निर्भर करते हैं। वे हैं:

  • मानक लाइब्रेरी फ़ंक्शन
  • उपयोगकर्ता-परिभाषित फ़ंक्शन

कोटलिन फ़ंक्शन

कोटलिन फ़ंक्शन

अब, आइए कोटलिन कोड उदाहरणों के साथ उन पर विस्तार से चर्चा करें।

मानक लाइब्रेरी फ़ंक्शन

वे अंतर्निहित लाइब्रेरी फ़ंक्शन हैं जिन्हें अंतर्निहित रूप से परिभाषित किया जा सकता है और उपयोग के लिए उपलब्ध हैं।

उदाहरण 2 के लिए:

fun main(args: Array<String>){  
var number = 9  
var result = Math.sqrt(number.toDouble())  
print("$result")  
}  

आउटपुट:

3.0

sqrt() लाइब्रेरी में परिभाषित एक फ़ंक्शन है जो किसी संख्या का वर्गमूल लौटाता है।

print() फ़ंक्शन संदेश को मानक आउटपुट स्ट्रीम पर प्रिंट करता है।

उपयोगकर्ता-परिभाषित फ़ंक्शन

जैसा कि नाम से पता चलता है, ये फ़ंक्शन आमतौर पर उपयोगकर्ताओं द्वारा बनाए जाते हैं, और इनका उपयोग उन्नत प्रोग्रामिंग के लिए किया जा सकता है।

यहां, फ़ंक्शन को 'fun' कीवर्ड का उपयोग करके घोषित किया जाता है।

उदाहरण 3 के लिए:

fun functionName(){
//body of the code
}

यहाँ, हम फ़ंक्शन को फ़ंक्शननाम() के अंदर कोड चलाने के लिए कॉल करते हैं

कोटलिन फ़ंक्शन उदाहरण:

fun main(args: Array<String>){  
    sum()  
    print("code after sum")  
}  
fun sum(){  
    var num1 =8  
    var num2 = 9  
    println("sum = "+(num1+num2))  
}  

आउटपुट:

योग = 17

योग के बाद कोड

कोटलिन में अपवाद प्रबंधन

प्रोग्रामिंग में अपवाद को रनटाइम समस्या के रूप में परिभाषित किया जाता है जो प्रोग्राम में होती है, जिससे इसे समाप्त करना पड़ता है। यह समस्या कम मेमोरी स्पेस, बॉन्ड से बाहर सरणी, शून्य से विभाजन जैसी स्थितियों के कारण हो सकती है। कोड निष्पादन में इन प्रकार की समस्याओं को रोकने के लिए, अपवाद हैंडलिंग का उपयोग किया जाता है।

अपवाद प्रबंधन को उस तकनीक के रूप में परिभाषित किया जाता है जो रनटाइम समस्याओं को संभालती है और निष्पादन के दौरान प्रोग्राम प्रवाह को भी बनाए रखती है।

कोटलिन अपवाद ऑब्जेक्ट को फेंकने के लिए 'थ्रो' अभिव्यक्ति का उपयोग करता है। यहाँ सभी अपवाद वर्ग क्लास Throwable के वंशज हैं।

MyException फेंको(“अपवाद फेंकता है”)

अपवाद प्रबंधन में चार प्रकार के अपवाद होते हैं:

  • try - इस ब्लॉक में ऐसे कथन होते हैं जो अपवाद उत्पन्न कर सकते हैं। इसके बाद हमेशा catch या finally या दोनों आते हैं।
  • catch - यह try ब्लॉक से फेंके गए अपवाद को पकड़ता है।
  • अंत में - यह हमेशा जाँचता है कि अपवाद को संभाला गया है या नहीं।
  • throw – इसका उपयोग स्पष्ट रूप से अपवाद फेंकने के लिए किया जाता है।

पकड़ने का प्रयास करें:

अपवाद प्रबंधन में try-catch ब्लॉक में, try ब्लॉक उस कोड को संलग्न करता है, जो अपवाद को फेंक सकता है और catch ब्लॉक अभिव्यक्ति को पकड़ता है और उसे संभालता है।

ट्राई कैच ब्लॉक का सिंटैक्स:

try{    
//code with exception    
}catch(e: SomeException){  
//code handling exception  
}    

अंततः ब्लॉक के साथ try का सिंटैक्स

try{    
//code with exception    
}finally{  
// code finally block  
}   

आखिरकार:

कोलिन में, अंततः ब्लॉक हमेशा यह जांचता है कि अपवाद को संभाला गया है या नहीं, जिससे यह अपवाद प्रबंधन का एक बहुत ही महत्वपूर्ण कथन बन जाता है।

उदाहरण 4 के लिए:

इस कोड स्निपेट में अपवाद उत्पन्न होता है, और इसे संभाला जाता है।

fun main (args: Array<String>){  
    try {  	
        val data =  9/ 0  
        println(data)  
    } catch (e: ArithmeticException) {  
        println(e)  
    } finally {  
        println("finally block executes")  
    }  
    println("write next code")  
}  

आउटपुट:

java.lang.ArithmeticException: / by zero
finally block executes
write next code

फेंकना:

थ्रो ब्लॉक एक स्पष्ट अपवाद को फेंकता है। इसके अलावा, इसका उपयोग कस्टम अपवादों को फेंकने के लिए किया जाता है।

सिंटेक्स:

Throw SomeException()

Throw SomeException()

उदाहरण:

fun main(args: Array<String>) {
    try{
        println("Exception is not thrown yet")
        throw Exception("Everything is not well")
        println("Exception is thrown")
    }
    catch(e: Exception){
        println(e)

    }
    finally{
        println("You can't ignore me")
    }
}

आउटपुट:

कोटलिन उदाहरण

कोटलिन शून्य सुरक्षा

कोटलिन का समर्थन करने वाले सिस्टम के प्रकार मुख्य रूप से उन संदर्भों के बीच अंतर करते हैं जो शून्य संदर्भ ले सकते हैं, और जो शून्य संदर्भ नहीं ले सकते हैं। कोटलिन एक शून्य सुरक्षा भाषा है जिसका उद्देश्य कोड से शून्य पॉइंटर अपवाद या शून्य संदर्भ को खत्म करना है, जिसे जानबूझकर ए के रूप में जाना जाता है Billआयन डॉलर गलती.

अनेकों में सबसे अधिक परम्परागत बाधा प्रोग्रामिंग की भाषाएँ यह है कि शून्य संदर्भ के सदस्य तक पहुँचने के दौरान, यह एक NullPointerException के रूप में परिणत होता है, जो !! ऑपरेटर या इस कंस्ट्रक्टर के कारण हो सकता है जो कहीं और इस्तेमाल किया गया है और कोड के किसी अन्य बिंदु पर पारित किया गया है। नलबल प्रॉपर्टी को इसके उपयोग से पहले हर बार नल चेक के लिए पुष्टि की आवश्यकता होती है।

कोटलिन में, सिस्टम शून्य संदर्भों और गैर-शून्य संदर्भों के बीच अंतर करता है।

उदाहरण के लिए, एक स्ट्रिंग चर शून्य नहीं रख सकता:

उदाहरण 5 के लिए:

fun main(args: Array<String>){
    var x: String = "GURU99 is the only place where you will get maximum technical content!" // Not Null by default
    println("x is : $x")
    // You cannot assign null variable to not-nullable variables 
    // a=null // it will give compilation error
    var y: String? = "Thanks for visiting GURU99" 
// Nullable Variable
    println("y is : $y")
    y = null
    println("y is : $y")
}

आउटपुट:

कोटलिन शून्य सुरक्षा

कोटलिन ओ.ओ.पी.एस.

ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग दृष्टिकोण एक जटिल कोड स्निपेट को ऑब्जेक्ट बनाकर छोटे कोड ब्लॉक में विभाजित करने की अनुमति देता है। ये ऑब्जेक्ट परस्पर दो विशेषताओं को साझा करते हैं: स्थिति और व्यवहार।

यहां कुछ OOPs तत्व दिए गए हैं जिन पर हम कोटलिन कोड उदाहरणों के साथ चर्चा करने जा रहे हैं:

  • क्लास और ऑब्जेक्ट
  • कंस्ट्रक्टर्स
  • विरासत
  • सार वर्ग

कोटलिन ओ.ओ.पी.एस.

कोटलिन में क्लास

किसी ऑब्जेक्ट को बनाने से पहले, हमें एक क्लास को परिभाषित करना होगा जिसे ऑब्जेक्ट का ब्लूप्रिंट भी कहा जाता है।

सिंटेक्स:

class ClassName {
    // property
    // member function
    ... .. ...
}

कोटलिन में ऑब्जेक्ट्स

क्लास को परिभाषित करते समय, हम केवल ऑब्जेक्ट के लिए विनिर्देशों को परिभाषित करते हैं, मेमोरी या स्टोरेज जैसे कोई अन्य पैरामीटर आवंटित नहीं किया जाता है।

सिंटेक्स:

var obj1 = ClassName()

कोटलिन में कंस्ट्रक्टर्स

कंस्ट्रक्टर क्लास प्रॉपर्टी को इनिशियलाइज़ करने का एक तरीका है। यह एक सदस्य फ़ंक्शन है जिसे तब कॉल किया जाता है जब कोई ऑब्जेक्ट इंस्टेंटिएट किया जाता है। लेकिन कोटलिन में, यह अलग तरीके से काम करता है।

कोटलिन में दो प्रकार के कंस्ट्रक्टर हैं:

कोटलिन में कंस्ट्रक्टर्स

कोटलिन में कंस्ट्रक्टर्स

प्राथमिक कन्स्ट्रक्टर: क्लास को आरंभ करने का अनुकूलित तरीका

सिंटेक्स:

class myClass(valname: String,varid: Int) {  
    // class body  
}  

द्वितीयक कन्स्ट्रक्टर: आरंभीकरण तर्क जोड़ने में मदद करता है

कोटलिन वंशानुक्रम

वंशानुक्रम तब होता है जब पैरेंट क्लास के कुछ गुण चाइल्ड क्लास द्वारा प्राप्त कर लिए जाते हैं। वंशानुक्रम तब अनुमत होता है जब दो या अधिक क्लासों के गुण समान हों।

सिंटेक्स:

open class ParentClass(primary_construct){
    // common code
  }class ChildClass(primary_construct): ParentClass(primary_construct_initializ){
    // ChildClass specific behaviours
  }

कोटलिन में एब्स्ट्रैक्ट क्लास

अमूर्त वर्ग वह वर्ग है जिसे तत्काल नहीं बनाया जा सकता है, लेकिन हम उनसे उपवर्ग प्राप्त कर सकते हैं। अमूर्त वर्ग घोषित करने के लिए 'abstract' कीवर्ड का उपयोग किया जाता है।

उदाहरण 6 के लिए:

  open class humanbeings { 
    open fun Eat() { 
        println("All Human being Eat") 
    } 
} 
abstract class Animal : humanbeings() { 
    override abstract fun Eat() 
} 
class Cat: Animal(){ 
    override fun Eat() { 
        println("Cats also loves eating") 
    } 
} 
fun main(args: Array<String>){ 
    val lt = humanbeings() 
    lt.Eat() 
    val d = Cat() 
    d.Eat() 
} 

आउटपुट:

कोटलिन में एब्स्ट्रैक्ट क्लास

कोटलिन का वर्तमान और भविष्य

वर्तमान:

  • कई कंपनियां जैसे Netflix, Pinterest, और Corda शक्तिशाली बनाने के लिए Kotlin का उपयोग कर रहे हैं Android क्षुधा.
  • एक वर्ष, 2016 से 2017 की छोटी अवधि में, कोटलिन अद्भुत प्रोग्रामिंग सुविधाओं के साथ अत्यधिक लोकप्रिय हो गया।
  • 2017 में, Google ने Android विकास के लिए आधिकारिक प्रोग्रामिंग भाषा के रूप में Kotlin की घोषणा की।
  • आप जल्दी से प्रतिस्थापित कर सकते हैं Java कोटलिन के साथ कोड करें क्योंकि यह 100% इंटरऑपरेबल है Java और Android.

भविष्य:

  • क्रॉस-प्लेटफ़ॉर्म गेम डेवलपमेंट
  • क्रॉस-प्लेटफ़ॉर्म मोबाइल ऐप विकास
  • सेवा-पक्ष स्क्रिप्टिंग और माइक्रोसर्विसेज
  • मशीन लर्निंग & डेटा विश्लेषण

सारांश

  • कोटलिन एक प्रोग्रामिंग भाषा है जिसे 2010 में जेटब्रेन्स द्वारा अपाचे 2.0 लाइसेंस के तहत बहु-प्लेटफॉर्म ऐप्स के लिए प्रस्तावित किया गया था।
  • कोटलिन नाम कोटलिन द्वीप के नाम से लिया गया है जो कि इसी प्रकार के एक अन्य द्वीप से मेल खाता है। Java जावा नामक एक द्वीप के नाम पर।
  • 2016 में, कोटलिन का पहला संस्करण v1.0 लॉन्च किया गया था
  • कोटलिन प्रोग्राम में सेमीकोलन की आवश्यकता नहीं होती। इससे कोड आसान और अधिक पठनीय हो जाता है।
  • कोटलिन के लिए Android डेवलपर्स एक OOPs-आधारित प्रोग्रामिंग भाषा है जहां कोड लाइन को 40% तक ट्रिम किया जा सकता है जो कोटलिन को सॉफ्टवेयर या वेब विकास के लिए एक आदर्श विकल्प बनाता है।
  • कोटलिन में, सभी वेरिएबल्स को var और val कीवर्ड का उपयोग करके घोषित किया जाना चाहिए।
  • अन्य प्रोग्रामिंग भाषाओं की तरह, कोटलिन में भी डेटा प्रकारों का अपना पूर्वनिर्धारित सेट है जैसे Int, Boolean, Char, Double, आदि
  • कोटलिन में ऑपरेटरों का एक सेट होता है जिसका उपयोग विभिन्न कार्यों में किया जाता है जैसे अंकगणितीय ऑपरेशन, असाइनमेंट ऑपरेशन, तुलना ऑपरेशन आदि।
  • कोटलिन में, सरणियाँ मूल डेटा प्रकार न होकर समान डेटा प्रकारों का परिवर्तनशील सहयोग होती हैं।
  • कोटलिन में, सरणियों को दो विधियों - ArrayOF () और कंस्ट्रक्टर्स का उपयोग करके परिभाषित किया जाता है।
  • कोटलिन एक नल सुरक्षा भाषा है जो कोड से नल पॉइंटर अपवाद या नल संदर्भ को हटाने में मदद करती है, जिसे जानबूझकर ए कहा जाता है Billआयन डॉलर गलती.