Tutorial de programare Kotlin

Ce este Kotlin?

Kotlin este un limbaj de programare tip open-source tip static care ruleazฤƒ Java Maศ™inฤƒ virtualฤƒ (JVM). Combinฤƒ programarea orientatฤƒ pe obiecte (OOP) ศ™i programarea funcศ›ionalฤƒ รฎn platforme nerestricศ›ionate, autosuficiente ศ™i distincte. De asemenea, permite รฎnfrฤƒศ›irea funcศ›ionalitฤƒศ›ilor prin coduri miniaturale. Kotlin este un limbaj de programare de uz general care a fost proiectat de JetBrains.

Istoria lui Kotlin

Iatฤƒ repere importante din istoria oraศ™ului Kotlin:

An eveniment
2016 Kotlin v1.0 a fost lansat
2017 Anunศ›ul Google privind suportul de primฤƒ clasฤƒ pentru kotlin รฎn Android
2018 Kotlin v1.2 vine cu coduri suplimentare de distribuire รฎntre JVM ศ™i JavaScenariu
2019 Google a anunศ›at Kotlin ca limbaj de programare preferat pentru Android Dezvoltatori de aplicaศ›ii
2021 Pe 20 septembrie 2021, a fost lansat Kotlin v1.5.31.

Motivele utilizฤƒrii Kotlin

Iatฤƒ cรขteva motive importante pentru care Kotlin este utilizat pe scarฤƒ largฤƒ:

  • Kotlin este un limbaj tip static, care este foarte uศ™or de citit ศ™i de scris.
  • Programele Kotlin nu necesitฤƒ punct ศ™i virgulฤƒ รฎn programul lor. Acest lucru face codul uศ™or ศ™i mai uศ™or de citit.
  • Aceastฤƒ limbฤƒ permite schimbul ศ™i utilizarea informaศ›iilor din Java รฎn diverse moduri. รŽn plus, Java iar codul Kotlin poate coexista รฎn acelaศ™i proiect.
  • Sistemul de tip Kotlin are scopul de a elimina NullPointerException din cod.
  • รŽศ›i va lua mai puศ›in timp sฤƒ scrii cod nou รฎn Kotlin. Este chiar mai uศ™or sฤƒ implementaศ›i codul kotlin ศ™i sฤƒ-l menศ›ineศ›i la scarฤƒ.

Caracteristicile lui Kotlin

Iatฤƒ cรขteva caracteristici ale lui Kotlin care vฤƒ vor asigura de progresul limbajului de programare.

Codare tฤƒiatฤƒ:

Kotlin este un limbaj de programare bazat pe POO, รฎn care linia de cod poate fi tฤƒiatฤƒ pรขnฤƒ la 40%, ceea ce face din Kotlin o alegere idealฤƒ pentru dezvoltarea de software sau web.

Sursa deschisa:

Kotlin pentru Android utilizeazฤƒ JVM ศ™i combinฤƒ caracteristicile OOP-urilor ศ™i programarea orientatฤƒ pe funcศ›ionalitate.

Compilare rapidฤƒ:

este uศ™or sฤƒ compilaศ›i codul atunci cรขnd lucraศ›i cu Kotlin, ceea ce are ca rezultat o performanศ›ฤƒ mai bunฤƒ pentru dezvoltarea Android ศ™i, de asemenea, va explica ce tip de funcศ›ie de date poate fi utilizatฤƒ รฎn รฎntregul cod.

Funcศ›ii de extensie:

Kotlin poate suporta o varietate de funcศ›ii de extensie fฤƒrฤƒ a face nicio modificare a codului. ajutฤƒ la a face codul existent mai atrฤƒgฤƒtor ศ™i mai magnific pentru dezvoltatori.

De exemplu:

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

Acest cod va ajuta la tฤƒierea primului ศ™i ultimului caracter al ศ™irului, รฎl putem aplica ca:

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

Siguranศ›ฤƒ nulฤƒ:

รŽn Kotlin, sistemul distinge รฎntre referinศ›ele nule ศ™i nu referinศ›ele nule, aศ™a cum se aratฤƒ รฎn exemplul Kotlin de mai jos.

De exemplu, o variabilฤƒ String nu poate deศ›ine null:

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)

Interoperabil:

Codul Kotlin poate fi folosit de Java ศ™i Java codurile pot fi folosite cu Kotlin. Deci, dacฤƒ aveศ›i cunoศ™tinศ›e despre OOP-uri programare, este uศ™or sฤƒ treceศ›i la dezvoltarea lui Kotlin. De asemenea, dacฤƒ existฤƒ unele aplicaศ›ii scrise รฎn Java, apoi pot fi folosite cu mediul lui Kotlin.

Instrumente robuste:

Aprecieri Java, codul Kotlin poate fi scris ศ™i folosind IDE sau folosind interfaศ›a de linie de comandฤƒ. Este uศ™or sฤƒ lucraศ›i cu IDE, iar erorile de sintaxฤƒ sunt, de asemenea, reduse dramatic. รŽn acelaศ™i timp, atunci cรขnd lucraศ›i cu o interfaศ›ฤƒ de linie de comandฤƒ, codul trebuie compilat mai รฎntรขi.

Smart Cast:

Turnarea inteligentฤƒ ajutฤƒ practic la reducerea costurilor aplicaศ›iei ศ™i รฎmbunฤƒtฤƒศ›eศ™te viteza sau performanศ›a acesteia. Funcศ›ioneazฤƒ la gestionarea eficienศ›ei codului folosind tipul de turnare sau valori imuabile.

De exemplu, dacฤƒ ศ™irul este identificat, atunci este lungimea ศ™i numฤƒrul ศ™i poate fi gฤƒsit cu ajutorul funcศ›iei Smart Cast:

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

Cost scฤƒzut de adopศ›ie:

Kotlin este preferat de รฎntreprinderi din cauza costului sฤƒu pierdut de adoptare. Cel mai important, este uศ™or de รฎnvฤƒศ›at de cฤƒtre dezvoltatori, mai ales avรขnd un fundal รฎn programare.

Configurarea mediului Kotlin

Urmฤƒtorii sunt paศ™ii care vฤƒ ajutฤƒ sฤƒ configuraศ›i un mediu de lucru prin instalarea Kotlin.

Pasul 1) Instalaศ›i Java

Dupฤƒ cum am discutat mai devreme, pe care se bazeazฤƒ Kotlin Java, deci trebuie sฤƒ instalaศ›i Java mai รฎntรขi cรขnd plฤƒnuiesc sฤƒ-l adopte pe Kotlin. Consultaศ›i-ne Java Tutorial de instalare.

Pasul 2) Instalaศ›i Java IDEs

Din fericire, sunt mai multe Java IDEs a alege din. Aici am oferit link-uri de descฤƒrcare pentru a vฤƒ uศ™ura puศ›in lucrurile.

รŽn acest tutorial Kotlin, vom folosi Eclipse.

Pasul 3) Instalaศ›i Kotlin

Pentru instalarea Kotlin รฎn Eclipse, accesaศ›i secศ›iunea Ajutor รฎn Eclipse ศ™i faceศ›i clic pe Eclipse Opศ›iune de piaศ›ฤƒ.

Configurarea mediului Kotlin

Acum, introduceศ›i cuvรขntul cheie Kotlin รฎn caseta de cฤƒutare. Faceศ›i clic pe opศ›iunea Go pentru a lista pluginul. Vฤƒ va oferi un link al pluginului Kotlin, trebuie sฤƒ instalaศ›i pluginul de la linkul dat.

Configurarea mediului Kotlin

Vฤƒ rugฤƒm sฤƒ reporniศ›i Eclipse IDE, odatฤƒ ce instalarea este finalizatฤƒ. Puteศ›i gฤƒsi o pictogramฤƒ de comandฤƒ rapidฤƒ รฎn colศ›ul din dreapta sus al Eclipse IDE. Este o metodฤƒ de acces rapid.

Configurarea mediului Kotlin

O altฤƒ modalitate de a accesa Kotlin รฎn Eclipse IDE este, du-te la Windows, Perspective, Deschideศ›i perspective, apoi alegeศ›i opศ›iunea Alศ›ii. Aici, puteศ›i verifica o listฤƒ de pluginuri instalate mai tรขrziu, dupฤƒ cum este prezentat mai jos.

Configurarea mediului Kotlin

Odatฤƒ ce aศ›i verificat instalarea Kotlin, permiteศ›i-ne sฤƒ creฤƒm primul program Kotlin รฎn pasul urmฤƒtor.

Pasul 4) Primul program Kotlin

รŽncepe cu primul tฤƒu proiect Kotlin. Din meniul Fiศ™ier, alegeศ›i opศ›iunea Nou, apoi selectaศ›i altele ศ™i รฎncepeศ›i cu un nou proiect Kotlin din listฤƒ.

Configurarea mediului Kotlin

Acum, trebuie sฤƒ definiศ›i un nume pentru proiect ศ™i sunteศ›i gata sฤƒ lucraศ›i cu Kotlin.

Configurarea mediului Kotlin

Cu aceศ™ti paศ™i simpli, descฤƒrcarea este uศ™oarฤƒ Eclipse ศ™i Kotlin pe sistemul dvs. ศ™i scrieศ›i primul program Kotlin imediat.

Architectura lui Kotlin

O arhitecturฤƒ bine construitฤƒ este importantฤƒ pentru ca o aplicaศ›ie sฤƒ รฎศ™i extindฤƒ caracteristicile ศ™i sฤƒ rฤƒspundฤƒ aศ™teptฤƒrilor bazei de utilizatori finali. Kotlin are propria sa arhitecturฤƒ particularฤƒ ศ™i distinctivฤƒ pentru a aloca memoria ศ™i pentru a obศ›ine rezultate de calitate pentru dezvoltatori ศ™i utilizatori finali.

Coroutinele ศ™i clasele lui Kotlin arhitecศ›eazฤƒ nucleul รฎn aศ™a fel รฎncรขt sฤƒ producฤƒ mai puศ›in cod standard, sฤƒ amplifice performanศ›a ศ™i sฤƒ consolideze eficienศ›a. Existฤƒ o varietate de scenarii รฎn care compilatorul kotlin poate reacศ›iona diferit, mai ales ori de cรขte ori aloca diferite tipuri de limbaje.

Architectura lui Kotlin
Architectura lui Kotlin

รŽn diagrama arhitecturii, este clar cฤƒ execuศ›ia codului se face รฎn trei paศ™i simpli.

  1. รŽn primul pas, fiศ™ierul โ€ž.ktโ€ sau kotlin este adฤƒugat la compilator.
  2. รŽn al doilea pas, compilatorul Kotlin converteศ™te codul รฎn bytecode.
  3. รŽn al treilea pas, este introdus bytecode Java Maศ™inฤƒ virtualฤƒ ศ™i executat de JVM.

Cรขnd cรขศ›iva fiศ™iere codificate de octeศ›i funcศ›ioneazฤƒ pe JVM, ele aprinde comunicarea reciprocฤƒ รฎntre ei, motiv pentru care caracteristica din Kotlin numitฤƒ interoperabilitate pentru naศ™terea java ook

Transpiraศ›ia lui Kotlin la JavaScriptul are loc atunci cรขnd Kotlin vizeazฤƒ JavaScenariul.

Cand JavaEste aleasฤƒ ศ›inta scriptului, orice cod al lui Kotlin care face parte din biblioteca care navigheazฤƒ cu Kotlin este apoi vฤƒrsat cu JavaScenariul. Cu toate acestea, cel Java Kitul de dezvoltare (JDK) sau orice bibliotecฤƒ java utilizatฤƒ este exclusฤƒ.

Un fiศ™ier non-Kotlin nu este luat รฎn considerare รฎn timpul unei astfel de operaศ›iuni. รŽn timp ce vizaศ›i JavaFiศ™ierul script .kt este convertit รฎn ES5.1 de cฤƒtre compilatorul Kotlin pentru a genera un cod consistent pentru JavaScenariul. Compilatorul Kotlin se strฤƒduieศ™te sฤƒ obศ›inฤƒ o dimensiune optimฤƒ, interoperabilitate cu modulul existent, aceeaศ™i funcศ›ionalitate cu biblioteca standard ศ™i o ieศ™ire care este JavaScriptul poate fi citit.

Din discuศ›ie reiese clar cฤƒ Kotlin Compilers poate crea un cod mai eficient, mai competent ศ™i independent, care are ca rezultat un produs software de รฎnaltฤƒ performanศ›ฤƒ.

Variabila Kotlin

Variabilele sunt folosite pentru a stoca date pentru a fi manipulate ศ™i referite รฎn program. Este รฎn principiu o unitate de stocare a datelor ศ™i etichetare, care aศ™teaptฤƒ un alias expozitiv, astfel รฎncรขt programul sฤƒ fie simplu de citit ศ™i uศ™or de รฎnศ›eles. Cu alte cuvinte, putem spune cฤƒ variabilele sunt containerele pentru colectarea informaศ›iilor.

รŽn Kotlin, toate variabilele ar trebui declarate. Cu toate acestea, dacฤƒ nicio variabilฤƒ nu este declaratฤƒ, atunci se va dovedi o eroare de sintaxฤƒ. De asemenea, declararea variabilei determinฤƒ tipul de date pe care le permitem sฤƒ le stocฤƒm รฎn variabilฤƒ. รŽn Kotlin, variabilele pot fi definite folosind cuvinte cheie val ศ™i var. Iatฤƒ sintaxa declarฤƒrii variabilelor รฎn Kotlin:

Var day = "Monday"
Var number = 3

Aici, am declarat variabila localฤƒ zi a cฤƒrei valoare este โ€žMonday' ศ™i al cฤƒrui tip este String ศ™i un alt numฤƒr variabil local a cฤƒrui valoare este 3 ศ™i al cฤƒrui tip este Int deoarece aici literalul este de tipul รฎntreg care este 3.

Variabilele locale sunt de obicei declarate ศ™i iniศ›ializate simultan. De asemenea, putem efectua anumite operaศ›ii รฎn timp ce iniศ›ializam variabila Kotlin.

Putem efectua o operaศ›ie asupra variabilei de acelaศ™i tip de date, deoarece aici num1 ศ™i num2 ambele sunt de acelaศ™i tip de date care este Int, รฎn timp ce ziua este de tipul de date ศ™ir. Ergo, va afiศ™a o eroare. Iatฤƒ o altฤƒ tehnicฤƒ cum puteศ›i defini variabile รฎn Kotlin.

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

Sฤƒ vedem cรขt de diferite sunt cuvintele cheie var ศ™i val unele de altele.

Var:

Var este ca o variabilฤƒ genericฤƒ utilizatฤƒ รฎn orice limbaj de programare care poate fi utilizatฤƒ de mai multe ori รฎntr-un singur program. Mai mult, รฎi puteศ›i modifica valoarea oricรขnd รฎntr-un program. Prin urmare, este cunoscutฤƒ ca variabilฤƒ mutabilฤƒ.

Iatฤƒ un exemplu de variabilฤƒ mutabilฤƒ รฎn Kotlin:

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

Aici valoarea lui num1, care este 20, este suprascrisฤƒ cu valoarea anterioarฤƒ a lui num1, care este 10. Prin urmare, rezultatul lui num1 + num2 este 40 รฎn loc de 30.

Valoare:

Val este ca o variabilฤƒ constantฤƒ ศ™i nu รฎi puteศ›i modifica valoarea mai tรขrziu รฎn program, care nici nu poate fi atribuitฤƒ de mai multe ori รฎntr-un singur program ศ™i poate fi folositฤƒ o singurฤƒ datฤƒ รฎntr-un anumit program. Prin urmare, este cunoscutฤƒ ca o variabilฤƒ imuabilฤƒ.

Iatฤƒ un exemplu de program Kotlin de variabile imuabile รฎn Kotlin:

Val num1 = 10
Var num2 = 20

Aici, valoarea lui num1 care este 10 nu poate fi suprascrisฤƒ de noua valoare a lui num1 care este 20, deoarece este de tip val care este constantฤƒ. Prin urmare, ieศ™irea este 30 รฎn loc de 40.

notiศ›e: รŽn Kotlin, variabilele imuabile sunt preferate รฎn detrimentul variabilelor mutabile.

Tipuri de date รฎn Kotlin

Tipurile de date sunt seturi de valori identificabile ศ™i descriu operaศ›iunile care pot fi operate pe ele. Similar cu alte limbaje de programare, Kotlin are, de asemenea, un set predefinit de tipuri de date precum Int, Boolean, Char, Double, Etc

รŽn Kotlin, fiecare tip de date este considerat un obiect.

Acum, รฎn acest tutorial de bazฤƒ Kotlin, sฤƒ ne aprofundฤƒm mai mult รฎn tipurile de date predefinite utilizate รฎn Kotlin.

Numbers :

Kotlin oferฤƒ un set de tipuri de date รฎncorporate cunoscute sub denumirea de numere, care sunt subcategorizate ca numere รฎntregi ศ™i virgulฤƒ mobilฤƒ. Numbers.

numere รฎntregi:

Numerele รฎntregi sunt categoria de numere care are patru tipuri:

Tip Dimensiune (biศ›i) Valoare min Valoare maximฤƒ
Byte 8 -128 127
Pantaloni scurศ›i 16 -32768 32767
Int 32 -2,147,483,648 (-231) 2,147,483,647 (231 - 1)
Lung 64 -9,223,372,036,854,775,808 (-263) 9,223,372,036,854,775,807 (263 - 1)

Punctul de plutire Numbers :

Punctul de plutire Numbers sunt numerele non-รฎntregi care poartฤƒ unele valori zecimale.

Float: Float este o valoare รฎn virgulฤƒ mobilฤƒ cu precizie unicฤƒ de 32 de biศ›i.

Exemplu: var: Float x = 3.25600

Double: Double este o valoare รฎn virgulฤƒ mobilฤƒ de precizie dublฤƒ de 64 de biศ›i.

Exemplu: var: Double y = 2456.345587

Booleeni:

Tipul de date boolean รฎn Kotlin este semnificativ pentru a reprezenta valorile logice. Existฤƒ doar douฤƒ valori posibile รฎn boolean care sunt fie adevฤƒrate, fie false.

De exemplu: val day = adevฤƒrat

Val day2 = fals

Caracter :

Caracterele din Kotlin sunt reprezentate cu ajutorul cuvรขntului cheie numit char. รŽn Kotlin, ghilimele simple reprezintฤƒ declaraศ›ia char. รŽn java, char sunt uneori folosite ca numere care nu sunt posibile รฎn kotlin.

De exemplu:

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

Conversie tip Kotlin sau turnare tip Kotlin

Conversia tipului este o procedurฤƒ de conversie a unui tip de variabilฤƒ de date รฎntr-un alt tip de variabilฤƒ de date. Este enorm, cunoscut ศ™i sub numele de Type Casting.

Eminent, รฎn Java, este acceptat tipul implicit de conversie de tip sau tipul implicit de tipul tip de tip de tip de date mai mic la un tip de date mai mare.

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

Cu toate acestea, รฎn kotlin, conversia implicitฤƒ a unui tip de date mai mic รฎntr-un tip de date mai mare nu este deloc acceptatฤƒ, adicฤƒ tipul de date int nu poate fi convertitฤƒ implicit รฎntr-un tip de date lung.

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

Cu toate acestea, รฎn Kotlin, conversia tipului se face รฎn mod explicit. Aici vine รฎndrumarea funcศ›iilor de ajutor care ghideazฤƒ conversia unei variabile de tip de date รฎn alta.

Existฤƒ anumite funcศ›ii de ajutor care sunt pre-deศ›inute pentru conversia unui tip de date รฎn altul:

toInt()

toByte()

laScurt()

toChar()

prea lung()

a pluti()

laDouble()

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

Kotlin Operatori

Operatorii sunt caractere sau simboluri importante ศ™i speciale care asigurฤƒ operaศ›iile รฎn operanzi care au variabile ศ™i valori. รŽn Kotlin, existฤƒ un set de operatori care sunt utilizaศ›i รฎn diferite operaศ›ii, cum ar fi operaศ›ii aritmetice, operaศ›iuni de atribuire, operaศ›ii de comparare etc.

Aritmeticฤƒ Operators:

Operatorii aritmetici sunt utilizaศ›i pentru adunare, scฤƒdere, รฎnmulศ›ire, รฎmpฤƒrศ›ire ศ™i modul.

OperaTdR Sens
+ Adฤƒugare (utilizatฤƒ ศ™i pentru concatenarea ศ™irurilor)
- Scฤƒdere OperaTdR
* Multiplicare OperaTdR
/ diviziune OperaTdR
% coeficient OperaTdR

De exemplu:

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

Aici rezultatul urmฤƒtorului cod este 45.

Comparaลฃie Operators:

Operatorul de comparare este folosit pentru a compara douฤƒ valori, douฤƒ variabile sau douฤƒ numere. Este folosit cu simbolul mai mare decรขt ( > ), mai mic decรขt simbolul ( < ) ศ™i egal cu simbolul ( ==), nu este egal cu simbolul ( != ), mai mare decรขt egal cu simbolul ( >= ), mai mic decรขt egal cu simbol(<= ). Rezultฤƒ รฎntotdeauna adevฤƒrat sau fals.

De exemplu:

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

Cesiune Operators:

Cesiune Operatorii sunt utilizaศ›i pentru a atribui valorile operate aritmetic. Este folosit cu simboluri precum +=, -=, *=, /=, %=.

De exemplu:

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

Creศ™tere ศ™i descreศ™tere Operators:

Operatorii de creศ™tere ศ™i decrementare sunt utilizaศ›i pentru a creศ™te ศ™i a decrementa valorile variabilei sau ale numฤƒrului. Este folosit cu ajutorul simbolurilor precum ++ ศ™i โ€”.

Existฤƒ douฤƒ tipuri de increment ศ™i decrement care sunt pre-increment ++a, post-increment a++, pre decrement โ€“b, post decrement bโ€“.

De exemplu:

var a = 10
var b = 20
var c = a++ // Output: 11
var d = bโ€” //Output : 19     

Kotlin Arrays

O matrice este un set omogen de tipuri de date ศ™i este unul dintre cele mai fundamentale tipuri de date care este folosit pentru a stoca aceleaศ™i tipuri de date รฎn locaศ›ia de memorie adiacentฤƒ. O matrice este semnificativฤƒ pentru organizarea datelor รฎn orice limbaj de programare, astfel รฎncรขt mai multe date stocate ศ™i un singur loc este uศ™or de cฤƒutat sau sortat.

รŽn Kotlin, matricele sunt o colaborare mutabilฤƒ a aceloraศ™i tipuri de date, mai degrabฤƒ decรขt sฤƒ fie tipuri de date native.

Iatฤƒ anumite proprietฤƒศ›i ale unei matrice รฎn Kotlin

  • Mฤƒrimea matricei nu poate fi modificatฤƒ odatฤƒ declaratฤƒ.
  • Matricele din Kotlin sunt mutabile.
  • Matricele sunt stocate รฎn locaศ›ii de memorie adiacente.
  • Un tablou poate fi accesat cu ajutorul unor indici ca a[1], a[2], etc.
  • Indicele unui tablou รฎncepe cu zero care este a[0].

รŽn Kotlin, o matrice poate fi definitฤƒ รฎn douฤƒ metode diferite

Prin utilizarea funcศ›iei arrayOf() :

รŽn Kotlin, existฤƒ o utilizare majorฤƒ a funcศ›iilor bibliotecii. O astfel de funcศ›ie de bibliotecฤƒ este funcศ›ia arrayOf(), care este utilizatฤƒ pentru a defini o matrice prin transmiterea valorilor variabilelor la funcศ›ie.

De exemplu: Declaraศ›ia implicitฤƒ de tip a matricei folosind funcศ›ia arrayOf().

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

De exemplu: Tastaศ›i รฎn mod explicit declaraศ›ia matricei folosind funcศ›ia arrayOf().

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

Folosind Array Constructor:

รŽn Kotlin, existฤƒ o clasฤƒ cu numele Array. Prin urmare, este fezabil sฤƒ folosiศ›i o matrice a constructorului pentru a crea o matrice. Matricea din constructor conศ›ine doi parametri majori.

Care este indexul unei matrice รฎn Kotlin?

Funcศ›ia รฎn care un index de matrice este acceptabil pentru a returna valoarea iniศ›ialฤƒ a indexului.

De exemplu:

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

Aici, valoarea matricei este 7 ศ™i expresia lambda este folositฤƒ pentru a iniศ›ializa valorile elementului.

Existฤƒ, de asemenea, diverse metode de a accesa ศ™i modifica matricele folosind anumite funcศ›ii. Prin urmare, existฤƒ douฤƒ funcศ›ii membre get() ศ™i set(), care sunt folosite pentru a accesa obiectele matricei de clasฤƒ.

De exemplu:

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

Aici, rezultatul este 10, deoarece valoarea de la indexul 0 al matricei este 10

Notฤƒ: get() ia doar valori individuale

De exemplu:

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

Ieศ™ire: 30 40

Aici, ieศ™irea este 30 ศ™i 40, deoarece valoarea la indexul 2 al matricei este 30 ศ™i la indexul 3 este 40.

Notฤƒ: set() ia mai multe valori ale unui tablou.

Coarde Kotlin

Un ศ™ir este un tip de date de bazฤƒ รฎn orice limbaj de programare. Un ศ™ir nu este altceva decรขt o secvenศ›ฤƒ de caractere. Clasa String reprezintฤƒ ศ™iruri de caractere. รŽn Kotlin, toate ศ™irurile sunt obiecte ale clasei String, ceea ce รฎnseamnฤƒ cฤƒ literalele ศ™iruri sunt implementate ca instanศ›e ale clasei.

Sintaxฤƒ:

 Val myString = "Hey there!"

Colecศ›ia Kotlin

O colecศ›ie conศ›ine mai multe obiecte de un tip similar, iar aceste obiecte din colecศ›ie se numesc elemente sau articole. Colectarea poate ajuta la stocarea, preluarea, manipularea ศ™i agregarea datelor.

Tipuri de colecศ›ii:

Colecศ›ie imuabilฤƒ

Acest tip de colecศ›ie acceptฤƒ funcศ›ionalitฤƒศ›i numai pentru citire. Nu se poate modifica elementele sale.

Metodele includ:

  • Listฤƒ โ€“ listOf() ศ™i listOf ()
  • Set โ€“ setOf()
  • Hartฤƒ โ€“ mapOf()

Colecศ›ia mutabilฤƒ

Acceptฤƒ atรขt funcศ›ionalitatea de citire, cรขt ศ™i de scriere.

Metodele includ

  • Listฤƒ โ€“ mutableListOf(), arrayListOf() ศ™i ArrayList
  • Set โ€“ mutableSetOf(), hashSetOf()
  • Hartฤƒ โ€“ mutableMapOf(), hashMapOf() ศ™i HashMap

Funcศ›ii Kotlin

Funcศ›iile รฎn orice limbaj de programare este un grup de instrucศ›iuni similare care sunt desemnate pentru a รฎndeplini o anumitฤƒ sarcinฤƒ. Funcศ›iile permit unui program sฤƒ-l despartฤƒ รฎn diferite blocuri mici de cod. Aceastฤƒ รฎmpฤƒrศ›ire a codului creศ™te lizibilitatea codului, reutilizarea codului ศ™i face un program uศ™or de gestionat.

Deoarece Kotlin este cunoscut ca un limbaj tipizat static. Aici, cuvรขntul cheie โ€žfunโ€ este folosit pentru a declara o funcศ›ie. รŽn Kotlin, existฤƒ douฤƒ tipuri de funcศ›ii care depind numai de disponibilitatea lor รฎn biblioteca standard sau definiศ›ia utilizatorului. Sunt:

  • Funcศ›ia standard de bibliotecฤƒ
  • Funcศ›ie definitฤƒ de utilizator

Funcศ›ia Kotlin

Funcศ›ii Kotlin

Acum, sฤƒ le discutฤƒm รฎn detaliu cu exemple de cod Kotlin.

Funcศ›ia de bibliotecฤƒ standard

Sunt funcศ›ii de bibliotecฤƒ รฎncorporate care pot fi definite implicit ศ™i disponibile pentru utilizare.

Pentru Exemplul 2:

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

ieศ™ire:

3.0

sqrt() este o funcศ›ie definitฤƒ รฎn bibliotecฤƒ care returneazฤƒ rฤƒdฤƒcina pฤƒtratฤƒ a unui numฤƒr.

Funcศ›ia print() imprimฤƒ mesajul รฎntr-un flux de ieศ™ire standard.

Funcศ›ie definitฤƒ de utilizator

Dupฤƒ cum sugereazฤƒ ศ™i numele, aceste funcศ›ii sunt de obicei create de utilizatori ศ™i pot fi folosite pentru programare avansatฤƒ.

Aici, funcศ›iile sunt declarate folosind cuvรขntul cheie โ€ždistracศ›ieโ€.

Pentru Exemplul 3:

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

Aici, apelฤƒm funcศ›ia pentru a rula coduri รฎn interiorul corpului functionName()

Exemple de funcศ›ii Kotlin:

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

ieศ™ire:

sumฤƒ = 17

cod dupฤƒ sumฤƒ

Gestionarea excepศ›iilor รฎn Kotlin

Excepศ›ia รฎn programare este definitฤƒ ca o problemฤƒ de rulare care apare รฎn program, ceea ce duce la terminarea acestuia. Aceastฤƒ problemฤƒ poate apฤƒrea din cauza spaศ›iului mai puศ›in de memorie, a matricei de legฤƒturi, condiศ›ii precum รฎmpฤƒrศ›irea la zero. Pentru a reduce aceste tipuri de probleme รฎn execuศ›ia codului, se utilizeazฤƒ gestionarea excepศ›iilor.

Gestionarea excepศ›iilor este definitฤƒ ca tehnica care se ocupฤƒ de problemele de rulare ศ™i, de asemenea, menศ›ine fluxul programului รฎn timpul execuศ›iei.

Kotlin foloseศ™te expresia โ€žaruncฤƒโ€ pentru a arunca un obiect excepศ›ie. Aici toate clasele de excepศ›ie sunt descendente ale clasei Throwable.

Throw MyException(โ€žaruncฤƒ excepศ›ieโ€)

Existฤƒ patru tipuri de excepศ›ii รฎn gestionarea excepศ›iilor. Sunt:

  • try โ€“ Acest bloc conศ›ine instrucศ›iuni care ar putea crea excepศ›ia. Este รฎntotdeauna urmatฤƒ fie de capturฤƒ, fie รฎn final sau de ambele.
  • catch โ€“ prinde o excepศ›ie aruncatฤƒ din blocul try.
  • รฎn sfรขrศ™it โ€“ Verificฤƒ รฎntotdeauna dacฤƒ excepศ›ia este gestionatฤƒ sau nu.
  • arunca โ€“ Este folosit pentru a arunca o excepศ›ie รฎn mod explicit.

รŽncearcฤƒ sฤƒ prinzi:

รŽn blocul try-catch รฎn gestionarea excepศ›iilor, try block include codul, care poate arunca o excepศ›ie ศ™i catch block prinde expresia ศ™i o gestioneazฤƒ.

Sintaxa blocului try catch:

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

Sintaxa try cu finally block

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

In cele din urma:

รŽn Kolin, รฎn sfรขrศ™it, block verificฤƒ รฎntotdeauna dacฤƒ excepศ›ia este gestionatฤƒ sau nu, ceea ce o face o declaraศ›ie foarte importantฤƒ de gestionare a excepศ›iilor.

Pentru Exemplul 4:

รŽn acest fragment de cod, apare o excepศ›ie ศ™i este gestionatฤƒ.

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")  
}  

ieศ™ire:

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

Arunca:

Throw block aruncฤƒ o excepศ›ie explicitฤƒ. Mai mult, este folosit pentru a arunca excepศ›ii personalizate.

Sintaxฤƒ:

Throw SomeException()

Throw SomeException()

Exemplu:

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")
    }
}

ieศ™ire:

Exemplu Kotlin

Siguranศ›a nulฤƒ Kotlin

Tipurile de sisteme care acceptฤƒ Kotlin disting รฎn principal รฎntre referinศ›ele care pot transporta referinศ›e nullabile ศ™i cele care nu pot transporta referinศ›e nullabile. Kotlin este un limbaj de siguranศ›ฤƒ nul menit sฤƒ elimine excepศ›ia pointerului nul sau referinศ›a nulฤƒ din cod, care este cunoscut รฎn mod deliberat ca A Billgreศ™ealฤƒ de dolar ion.

Cea mai convenศ›ionalฤƒ piatrฤƒ de poticnire dintre multe limbaje de programare este cฤƒ รฎn timp ce accesaศ›i un membru al unei referinศ›e nule, rezultฤƒ o excepศ›ie NullPointerException, care ar putea fi din cauza !! operator sau acest constructor folosit รฎn altฤƒ parte ศ™i transmis รฎn alt punct de cod. Proprietatea nulฤƒ necesitฤƒ confirmare pentru verificarea nulฤƒ de fiecare datฤƒ รฎnainte de utilizarea sa.

รŽn Kotlin, sistemul distinge รฎntre referinศ›e nule ศ™i nu referinศ›e nule.

De exemplu, o variabilฤƒ String nu poate deศ›ine null:

Pentru Exemplul 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")
}

ieศ™ire:

Siguranศ›a nulฤƒ Kotlin

OOP-uri Kotlin

Abordarea de programare orientatฤƒ pe obiecte permite unui fragment de cod complex sฤƒ se รฎmpartฤƒ รฎn blocuri de cod mai mici prin crearea de obiecte. Aceste obiecte รฎmpฤƒrtฤƒศ™esc douฤƒ caracteristici: stare ศ™i comportament.

Iatฤƒ cรขteva dintre elementele OOP pe care le vom discuta cu exemple de cod Kotlin:

  • Clasa si obiecte
  • Constructori
  • MoลŸtenire
  • Clasa abstractฤƒ

OOP-uri Kotlin

Clasฤƒ รฎn Kotlin

รŽn primul rรขnd, รฎnainte de a crea un obiect, trebuie sฤƒ definim o clasฤƒ care este cunoscutฤƒ ศ™i sub numele de plan pentru obiect.

Sintaxฤƒ:

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

Obiecte รฎn Kotlin

รŽn timp ce definim o clasฤƒ, definim doar specificaศ›iile pentru obiect, nu este alocat niciun alt parametru precum memoria sau stocarea.

Sintaxฤƒ:

var obj1 = ClassName()

Constructori din Kotlin

Un constructor este o modalitate de a iniศ›ializa proprietฤƒศ›ile clasei. Este o funcศ›ie membru numitฤƒ atunci cรขnd un obiect este instanศ›iat. Dar รฎn Kotlin, funcศ›ioneazฤƒ diferit.

Existฤƒ douฤƒ tipuri de constructori รฎn Kotlin:

Constructori din Kotlin

Constructori din Kotlin

Constructor primar: Mod optimizat de a iniศ›ializa o clasฤƒ

Sintaxฤƒ:

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

Constructor secundar: ajutฤƒ la adฤƒugarea logicii de iniศ›ializare

Moศ™tenirea Kotlin

Moศ™tenirea are loc atunci cรขnd unele proprietฤƒศ›i ale clasei pฤƒrinte sunt dobรขndite de cฤƒtre clasa copil. Moศ™tenirea este permisฤƒ atunci cรขnd douฤƒ sau mai multe clase au aceleaศ™i proprietฤƒศ›i.

Sintaxฤƒ:

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

Clasa de abstract la Kotlin

O clasฤƒ abstractฤƒ este o clasฤƒ care nu poate fi instanศ›iatฤƒ, dar putem moศ™teni subclase din ele. cuvรขntul cheie โ€žabstractโ€ este folosit pentru a declara o clasฤƒ abstractฤƒ.

Pentru Exemplul 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() 
} 

ieศ™ire:

Clasa de abstract la Kotlin

Prezentul ศ™i viitorul lui Kotlin

Prezentul:

  • Multe companii le place Netflix, Pinterest ศ™i Corda folosesc Kotlin pentru a crea puternice Android Aplicaศ›ii.
  • รŽntr-o scurtฤƒ duratฤƒ de un an, din 2016 pรขnฤƒ รฎn 2017, Kotlin a devenit foarte popular cu funcศ›ii de programare uimitoare.
  • รŽn 2017, Google a anunศ›at Kotlin ca limbaj de programare oficial pentru dezvoltarea Android.
  • Puteศ›i รฎnlocui rapid Java codeazฤƒ cu Kotlin, deoarece este 100% interoperabil cu Java ศ™i Android.

Viitorul:

  • Dezvoltare de jocuri multiplatforme
  • Dezvoltare de aplicaศ›ii mobile pe mai multe platforme
  • Scripturi ศ™i microservicii la nivelul serviciului
  • Invatare mecanica & analiza datelor

Rezumat

  • Kotlin este un limbaj de programare propus de JetBrains รฎn 2010 pentru aplicaศ›ii multi-platformฤƒ sub licenศ›a Apache 2.0.
  • Numele Kotlin este derivat dupฤƒ numele insulei Kotlin รฎntr-o corespondenศ›ฤƒ similarฤƒ cu Java dupฤƒ numele unei insule numite java.
  • รŽn 2016 a fost lansatฤƒ prima versiune Kotlin v1.0
  • Programele Kotlin nu necesitฤƒ punct ศ™i virgulฤƒ รฎn programul lor. Acest lucru face codul uศ™or ศ™i mai uศ™or de citit.
  • Kotlin pentru Android developers este un limbaj de programare bazat pe POO, รฎn care linia de cod poate fi tฤƒiatฤƒ cu pรขnฤƒ la 40%, ceea ce face din Kotlin o alegere idealฤƒ pentru dezvoltarea de software sau web.
  • รŽn Kotlin, toate variabilele ar trebui sฤƒ fie declarate folosind cuvinte cheie var ศ™i val.
  • Similar cu alte limbaje de programare, Kotlin are, de asemenea, un set predefinit de tipuri de date precum Int, Boolean, Char, Double, Etc
  • รŽn Kotlin, existฤƒ un set de operatori care sunt utilizaศ›i รฎn diferite operaศ›ii, cum ar fi operaศ›ii aritmetice, operaศ›iuni de atribuire, operaศ›ii de comparare etc.
  • รŽn Kotlin, matricele sunt o colaborare mutabilฤƒ a aceloraศ™i tipuri de date, mai degrabฤƒ decรขt sฤƒ fie tipuri de date native.
  • รŽn Kotlin, matricele sunt definite folosind douฤƒ metode โ€“ ArrayOF () ศ™i Constructors.
  • Kotlin este un limbaj de siguranศ›ฤƒ nul care ajutฤƒ la eliminarea excepศ›iei indicatorului nul sau referinศ›a nulฤƒ din cod, care este numit รฎn mod deliberat A Billgreศ™ealฤƒ de dolar ion.

Rezumaศ›i aceastฤƒ postare cu: