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.
- Pentru a descฤrca Eclipse, apasฤ aici.
- Pentru a descฤrca NetBeans, apasฤ aici.
- Pentru a descฤrca IntelliJ, apasฤ aici.
ร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ศฤ.
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.
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.
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.
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ฤ.
Acum, trebuie sฤ definiศi un nume pentru proiect ศi sunteศi gata sฤ lucraศi cu 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.

รn diagrama arhitecturii, este clar cฤ execuศia codului se face รฎn trei paศi simpli.
- รn primul pas, fiศierul โ.ktโ sau kotlin este adฤugat la compilator.
- รn al doilea pas, compilatorul Kotlin converteศte codul รฎn bytecode.
- ร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
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:
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:
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ฤ
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:
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:
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.










