Samouczek programowania w Kotlinie
Co to jest Kotlin?
Kotlin to jฤzyk programowania typu open source o statycznym typie, ktรณry dziaลa Java Maszyna wirtualna (JVM). ลฤ czy programowanie obiektowe (OOP) i programowanie funkcjonalne w nieograniczonych, samowystarczalnych i wyrรณลผniajฤ cych siฤ platformach. Umoลผliwia takลผe ลฤ czenie funkcjonalnoลci za pomocฤ miniaturowych kodรณw. Kotlin to jฤzyk programowania ogรณlnego przeznaczenia zaprojektowany przez JetBrains.
Historia Kotlina
Oto waลผne punkty orientacyjne z historii Kotlina:
| Rok | wydarzenie |
|---|---|
| 2016 | Uruchomiono Kotlin v1.0 |
| 2017 | Ogลoszenie Google o pierwszorzฤdnym wsparciu jฤzyka Kotlin w systemie Android |
| 2018 | Kotlin v1.2 zawiera dodatek umoลผliwiajฤ cy dystrybucjฤ kodรณw pomiฤdzy JVM i JavaScenariusz |
| 2019 | Google ogลosiล Kotlin jako preferowany jฤzyk programowania Android Twรณrcy aplikacji |
| 2021 | 20 wrzeลnia 2021 wypuszczono Kotlin v1.5.31. |
Powody uลผywania Kotlina
Oto kilka waลผnych powodรณw, dla ktรณrych Kotlin jest powszechnie uลผywany:
- Kotlin jest jฤzykiem o typie statycznym, ktรณry jest bardzo ลatwy do odczytania i zapisu.
- Programy Kotlin nie wymagajฤ ลrednikรณw w swoim programie. Dziฤki temu kod jest ลatwiejszy i bardziej czytelny.
- Jฤzyk ten umoลผliwia wymianฤ i wykorzystanie informacji Java na rรณลผne sposoby. Ponadto, Java i kod Kotlina mogฤ wspรณลistnieฤ w tym samym projekcie.
- System typรณw Kotlina ma na celu wyeliminowanie wyjฤ tku NullPointerException z kodu.
- Napisanie nowego kodu w Kotlinie zajmie Ci mniej czasu. Jeszcze ลatwiej jest wdroลผyฤ kod Kotlin i utrzymaฤ go na duลผฤ skalฤ.
Cechy Kotlina
Oto kilka cech Kotlina, ktรณre dadzฤ Ci pewnoลฤ ลcieลผki postฤpu jฤzyka programowania.
Przyciฤte kodowanie:
Kotlin to jฤzyk programowania oparty na OOP, w ktรณrym liniฤ kodu moลผna przyciฤ ฤ nawet o 40%, co czyni Kotlin idealnym wyborem do tworzenia oprogramowania lub stron internetowych.
Otwarte ลบrรณdลo:
Kotlina za Android wykorzystuje JVM i ลฤ czy w sobie cechy OOP i programowania zorientowanego funkcjonalnie.
Szybka kompilacja:
kod moลผna ลatwo skompilowaฤ, pracujฤ c w jฤzyku Kotlin, co przekลada siฤ na lepszฤ wydajnoลฤ programowania na Androida, a takลผe wyjaลnia, jakiego typu funkcji danych moลผna uลผywaฤ w caลym kodzie.
Funkcje rozszerzenia:
Kotlin moลผe obsลugiwaฤ rรณลผne funkcje rozszerzeล bez wprowadzania jakichkolwiek zmian w kodzie. pomaga uczyniฤ istniejฤ cy kod bardziej atrakcyjnym i wspaniaลym dla programistรณw.
Na przykลad:
Fun String.removeFirstLastChar(): String = this.substring(1, this.length -1)
Ten kod pomoลผe w skrรณceniu pierwszego i ostatniego znaku ciฤ gu, moลผemy go zastosowaฤ jako:
Val string1 = "Today is cloudy." Val string2 = string1.removeFirstLastChar()
Zerowe bezpieczeลstwo:
W Kotlinie system rozrรณลผnia odniesienia zerowe i nieodwoลania zerowe, jak pokazano w poniลผszym przykลadzie Kotlina.
Na przykลad zmienna typu String nie moลผe zawieraฤ wartoลci 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)
Interoperacyjny:
Kod Kotlina moลผe byฤ uลผywany przez Java, Java kody mogฤ byฤ uลผywane z Kotlinem. Jeลli wiฤc masz wiedzฤ nt OOP programowania, ลatwo jest przejลฤ na rozwรณj w Kotlinie. Ponadto, jeลli sฤ zapisane jakieล aplikacje Java, wรณwczas moลผna ich uลผywaฤ w ลrodowisku Kotlina.
Solidne narzฤdzia:
Jak Java, kod Kotlina moลผna rรณwnieลผ napisaฤ przy uลผyciu IDE lub interfejsu wiersza poleceล. Praca z IDE jest ลatwa, a bลฤdy skลadniowe sฤ rรณwnieลผ znacznie zmniejszone. Jednoczeลnie, jeลli pracujesz z interfejsem wiersza poleceล, kod musi zostaฤ najpierw skompilowany.
Inteligentna obsada:
Inteligentne odlewanie zasadniczo pomaga obniลผyฤ koszty aplikacji i poprawia jej szybkoลฤ lub wydajnoลฤ. Dziaลa na zarzฤ dzaniu wydajnoลciฤ kodu za pomocฤ rzutowania typรณw lub niezmiennych wartoลci.
Na przykลad, jeลli ciฤ g znakรณw zostanie zidentyfikowany, jego dลugoลฤ i liczba zostanฤ znalezione za pomocฤ funkcji Smart Cast:
Val string1: Any = "Today is Monday"
when(string1)
{
is String -> string1.length
Is Int -> string1.inc()
}
Niski koszt adopcji:
Kotlin jest preferowany przez przedsiฤbiorstwa ze wzglฤdu na utracone koszty wdroลผenia. Co najwaลผniejsze, programiลci mogฤ go ลatwo siฤ nauczyฤ, zwลaszcza jeลli majฤ doลwiadczenie w programowaniu.
Konfiguracja ลrodowiska Kotlin
Poniลผej przedstawiono kroki, ktรณre pomogฤ Ci skonfigurowaฤ ลrodowisko robocze poprzez instalacjฤ jฤzyka Kotlin.
Krok 1) Zainstaluj Java
Jak wspomnieliลmy wczeลniej, na czym opiera siฤ Kotlin Java, wiฤc musisz zainstalowaฤ Java pierwszy, gdy planujesz przyjฤcie Kotlina. Zapoznaj siฤ z naszymi Java Samouczek instalacji.
Krok 2) Zainstaluj Java IDE
Na szczฤลcie jest ich wiele Java IDE do wybrania z. Tutaj podaliลmy linki do pobierania, aby uลatwiฤ Ci pracฤ.
- Aby pobraฤ plik Eclipse, kliknij tutaj.
- Aby pobraฤ plik NetBeans, kliknij tutaj.
- Aby pobraฤ IntelliJ, kliknij tutaj.
W tym samouczku Kotlina bฤdziemy uลผywaฤ Eclipse.
Krok 3) Zainstaluj Kotlina
Aby zainstalowaฤ Kotlin w Eclipse, przejdลบ do sekcji Pomoc w Eclipse i kliknij Eclipse Opcja targowa.
Teraz wpisz sลowo kluczowe Kotlin w polu wyszukiwania. Kliknij opcjฤ Go, aby wyลwietliฤ wtyczkฤ. Otrzymasz link do wtyczki Kotlin, musisz zainstalowaฤ wtyczkฤ z podanego linku.
Proszฤ uruchomiฤ ponownie Eclipse IDE, po zakoลczeniu instalacji. Ikonฤ skrรณtu znajdziesz w prawym gรณrnym rogu Eclipse IDE. Jest to metoda szybkiego dostฤpu.
Inny sposรณb uzyskania dostฤpu do Kotlina w Eclipse IDE to przejdลบ do Windows, Perspectives, Open Perspectives, a nastฤpnie wybierz opcjฤ Others. Tutaj moลผesz sprawdziฤ listฤ wtyczek zainstalowanych pรณลบniej, jak podano poniลผej.
Po zweryfikowaniu instalacji Kotlina, w nastฤpnym kroku stworzymy pierwszy program Kotlin.
Krok 4) Pierwszy program Kotlin
Zacznij od swojego pierwszego projektu w Kotlinie. Z menu Plik wybierz opcjฤ Nowy, nastฤpnie wybierz inne i rozpocznij od nowego projektu Kotlin z listy.
Teraz musisz zdefiniowaฤ nazwฤ projektu i jesteล gotowy do pracy z Kotlinem.
Dziฤki tym prostym krokom pobieranie jest ลatwe Eclipse i Kotlin w swoim systemie i od razu napisz swรณj pierwszy program w Kotlinie.
Archiarchitekturฤ Kotlina
Dobrze zbudowana architektura jest waลผna dla aplikacji, aby skalowaฤ jej funkcje i speลniaฤ oczekiwania bazy uลผytkownikรณw koลcowych. Kotlin ma swojฤ wลasnฤ , szczegรณlnฤ i charakterystycznฤ architekturฤ, aby przydzieliฤ pamiฤฤ i uzyskaฤ wysokiej jakoลci wyniki dla programistรณw i uลผytkownikรณw koลcowych.
Coroutines i klasy Kotlina tworzฤ rdzeล w taki sposรณb, aby produkowaฤ mniej szablonowego kodu, zwiฤkszaฤ wydajnoลฤ i wzmacniaฤ efektywnoลฤ. Istnieje wiele scenariuszy, w ktรณrych kompilator Kotlina moลผe reagowaฤ inaczej, zwลaszcza gdy przeznacza rรณลผne rodzaje jฤzykรณw.

Na schemacie architektury wyraลบnie widaฤ, ลผe wykonanie kodu odbywa siฤ w trzech prostych krokach.
- W pierwszym kroku do kompilatora dodawany jest plik โ.ktโ lub kotlin.
- W drugim kroku kompilator Kotlina konwertuje kod na kod bajtowy.
- W trzecim kroku wstawiany jest kod bajtowy Java Maszyna wirtualna i wykonywane przez JVM.
Gdy kilka plikรณw zakodowanych bajtowo dziaลa na JVM, rozpoczyna siฤ miฤdzy nimi wzajemna komunikacja, dlatego w Kotlinie powstaลa funkcja o nazwie interoperacyjnoลฤ dla jฤzyka Java.
Wydarzenie Kotlina do JavaSkrypt jest wykonywany, gdy Kotlin jest celem JavaScenariusz.
Podczas JavaWybrano cel skryptu, a nastฤpnie rozlano caลy kod Kotlina, ktรณry jest czฤลciฤ biblioteki obsลugujฤ cej Kotlin. JavaSkrypt. Jednakลผe, Java Wykluczony jest Development Kit (JDK) i wszelkie biblioteki Java.
Plik inny niลผ Kotlin nie jest brany pod uwagฤ podczas takiej operacji. Podczas celowania JavaPlik skryptu .kt jest konwertowany do ES5.1 przez kompilator Kotlin w celu wygenerowania spรณjnego kodu dla JavaSkrypt. Kompilator Kotlin dฤ ลผy do uzyskania optymalnego rozmiaru wyjลcia, wspรณลdziaลania z istniejฤ cym moduลem, takiej samej funkcjonalnoลci jak biblioteka standardowa i wyjลcia, ktรณre jest JavaSkrypt czytelny.
Z dyskusji jasno wynika, ลผe โโkompilatory Kotlin mogฤ stworzyฤ bardziej wydajny, kompetentny i niezaleลผny kod, ktรณry dodatkowo skutkuje wysoce wydajnym oprogramowaniem.
Zmienna Kotlina
Zmienne sลuลผฤ do przechowywania danych, ktรณrymi moลผna manipulowaฤ i odwoลywaฤ siฤ do nich w programie. Zasadniczo jest to jednostka przechowujฤ ca dane i etykietujฤ ca, ktรณra oczekuje na alias objaลniajฤ cy, dziฤki czemu program jest prosty do odczytania i ลatwy do zrozumienia. Innymi sลowy, moลผemy powiedzieฤ, ลผe zmienne sฤ pojemnikami do gromadzenia informacji.
W Kotlinie wszystkie zmienne powinny byฤ zadeklarowane. Jednak jeลli jakaล zmienna nie jest zadeklarowana, to wyskakuje bลฤ d skลadniowy. Ponadto deklaracja zmiennej okreลla typ danych, ktรณre pozwalamy przechowywaฤ w zmiennej. W Kotlinie zmienne moลผna definiowaฤ za pomocฤ sลรณw kluczowych val i var. Oto skลadnia deklarowania zmiennych w Kotlinie:
Var day = "Monday" Var number = 3
Tutaj zadeklarowaliลmy lokalnฤ zmiennฤ dzieล, ktรณrej wartoลฤ to โMonday' i ktรณrego typ to String oraz inna zmienna lokalna o wartoลci 3 i ktรณrej typ to Int, poniewaลผ tutaj literaล jest typu caลkowitego, czyli 3.
Zmienne lokalne sฤ zazwyczaj deklarowane i inicjowane jednoczeลnie. Moลผemy rรณwnieลผ wykonywaฤ pewne operacje podczas inicjowania zmiennej Kotlin.
Moลผemy wykonaฤ operacjฤ na zmiennej tego samego typu danych, jak tutaj num1 i num2 oba sฤ tego samego typu danych, czyli Int, podczas gdy day jest typu danych string. Ergo, wyลwietli bลฤ d. Oto kolejna technika, jak moลผna definiowaฤ zmienne w Kotlin.
var day : String = "GURU99" var num : Int = 100
Zobaczmy, jak sลowa kluczowe var i val rรณลผniฤ siฤ od siebie.
Rรณลผnorodnoลฤ:
Var jest jak zmienna ogรณlna uลผywana w dowolnym jฤzyku programowania, ktรณrej moลผna uลผywaฤ wielokrotnie w jednym programie. Co wiฤcej, moลผesz zmieniฤ jego wartoลฤ w dowolnym momencie w programie. Dlatego nazywa siฤ jฤ zmiennฤ zmiennฤ .
Oto przykลad zmiennej zmiennej w Kotlinie:
var num1 = 10 Var num2 = 20 Num1 = 20 print(num1 + num2) // output : 40
Tutaj wartoลฤ num1, czyli 20, zostaje nadpisana przez poprzedniฤ wartoลฤ num1, czyli 10. Dlatego wyjลciem num1 + num2 jest 40 zamiast 30.
Wartoลฤ:
Val jest jak staลa zmienna i nie moลผna zmieniฤ jej wartoลci pรณลบniej w programie, ktรณrej nie moลผna przypisaฤ wielokrotnie w jednym programie i moลผna jej uลผyฤ tylko raz w konkretnym programie. Ergo, jest znana jako zmienna niezmienna.
Oto przykลad programu Kotlin z niezmiennymi zmiennymi w Kotlinie:
Val num1 = 10 Var num2 = 20
W tym przypadku wartoลฤ num1 wynoszฤ ca 10 nie moลผe zostaฤ zastฤ piona nowฤ wartoลciฤ num1 wynoszฤ cฤ 20, poniewaลผ jest to typ val, ktรณry jest staลy. Dlatego wynik wynosi 30 zamiast 40.
Note: W Kotlinie zmienne niezmienne sฤ preferowane w stosunku do zmiennych zmiennych.
Typy danych w Kotlinie
Typy danych to zbiรณr powiฤ zanych wartoลci i opis operacji, ktรณre moลผna na nich wykonaฤ. Podobnie jak inne jฤzyki programowania, Kotlin ma rรณwnieลผ swรณj predefiniowany zestaw typรณw danych, takich jak Int, Boolean, Char, Double, itp.
W Kotlinie kaลผdy typ danych jest traktowany jako obiekt.
Teraz w tym podstawowym samouczku Kotlina przyjrzyjmy siฤ bliลผej predefiniowanym typom danych uลผywanym w Kotlinie.
Numbers :
Kotlin obsลuguje zestaw wbudowanych typรณw danych znanych jako liczby, ktรณre sฤ podkategoriami liczb caลkowitych i liczb zmiennoprzecinkowych Numbers.
Liczby caลkowite:
Liczby caลkowite to kategoria liczb obejmujฤ ca cztery typy:
| Typ | Rozmiar (bity) | Wartoลฤ minimalna | maksymalna wartoลฤ |
|---|---|---|---|
| Bajt | 8 | -128 | 127 |
| Short | 16 | -32768 | 32767 |
| Int | 32 | -2,147,483,648 (-231) | 2,147,483,647 (231โ1) |
| dลugo | 64 | -9,223,372,036,854,775,808 (-263) | 9,223,372,036,854,775,807 (263โ1) |
Punkt zmiennoprzecinkowy Numbers :
Punkt zmiennoprzecinkowy Numbers sฤ liczbami niecaลkowitymi, ktรณre posiadajฤ pewne wartoลci dziesiฤtne.
Float: Float to 32-bitowa wartoลฤ zmiennoprzecinkowa o pojedynczej precyzji.
Przykลad: var: Float x = 3.25600
Double: Double jest 64-bitowฤ wartoลciฤ zmiennoprzecinkowฤ podwรณjnej precyzji.
Przykลad: zmienna: Double y = 2456.345587
Wartoลci logiczne:
Typ danych Booleans w Kotlinie jest istotny do reprezentowania wartoลci logicznych. Istniejฤ tylko dwie moลผliwe wartoลci w formacie Boolean: prawda lub faลsz.
Na przykลad: val dzieล = prawda
Val dzieล2 = faลsz
Postaฤ :
Znaki w Kotlinie sฤ reprezentowane za pomocฤ sลowa kluczowego o nazwie char. W Kotlinie pojedyncze cudzysลowy oznaczajฤ deklaracjฤ char. W Javie char sฤ czasami uลผywane jako liczby, co nie jest moลผliwe w Kotlinie.
Na przykลad:
val onechar = 'x' print(onechar) // output : x Val onedigit = '7' print(onedigit) // output : 7
Konwersja typu Kotlin lub rzutowanie typu Kotlin
Konwersja typu to procedura konwersji jednego typu zmiennej danych na zmiennฤ innego typu danych. Jest to niezwykle znane rรณwnieลผ jako odlewanie typรณw.
Wybitnie, w Java, obsลugiwany jest niejawny typ konwersji typu lub niejawny typ rzutowania mniejszego typu danych na wiฤkszy typ danych.
For Example : int abc = 15; Long bcd = abc; // compiles successfully
Jednak w Kotlin niejawna konwersja mniejszego typu danych na wiฤkszy typ danych nie jest w ogรณle obsลugiwana, poniewaลผ typu danych int nie moลผna poลrednio przekonwertowaฤ na dลugi typ danych.
For Example : var abc = 15 Val bcd : Long = abc // error
Jednak w Kotlinie konwersja typรณw odbywa siฤ jawnie. Oto wskazรณwki dotyczฤ ce funkcji pomocniczych, ktรณre kierujฤ konwersjฤ jednego typu danych na inny.
Istniejฤ pewne funkcje pomocnicze, ktรณre sฤ wstฤpnie przygotowane do konwersji jednego typu danych na inny:
doInt()
doByte()
doShort()
doChar()
za dลugo()
unosiฤ()
doDouble()
For Example : var abc = 15 Val bcd : Long = abc.toLong() // compiles successfully
Kotlin Operatorsy
Operatory to waลผne i specjalne znaki lub symbole, ktรณre zapewniajฤ operacje na operandach, ktรณre majฤ zmienne i wartoลci. W Kotlinie istnieje zestaw operatorรณw, ktรณre sฤ uลผywane w rรณลผnych operacjach, takich jak operacje arytmetyczne, operacje przypisania, operacje porรณwnania itp.
Arytmetyka Operatory:
Operatory arytmetyczne sลuลผฤ do dodawania, odejmowania, mnoลผenia, dzielenia i modulo.
| OperaTor | Znaczenie |
|---|---|
| + | Dodawanie (uลผywane rรณwnieลผ do ลฤ czenia ciฤ gรณw) |
| - | Odejmowanie OperaTor |
| * | Mnoลผenie OperaTor |
| / | podziaล OperaTor |
| % | Moduล OperaTor |
Na przykลad:
var x = 10 var y = 20 var z = ( ( x + y ) * ( x + y ) ) / 2
Wynik poniลผszego kodu wynosi 45.
Porรณwnanie Operatory:
Operator porรณwnania sลuลผy do porรณwnywania dwรณch wartoลci, dwรณch zmiennych lub dwรณch liczb. Uลผywa siฤ go z symbolem wiฤkszym niลผ ( > ), mniejszym niลผ ( < ) i rรณwnym symbolem ( == ), nierรณwnym symbolem ( != ), wiฤkszym niลผ rรณwnym symbolem ( >= ), mniejszym niลผ rรณwnym symbolem ( <= ). Zawsze daje wynik true lub false.
Na przykลad:
var x = 10 Var y =20 Var z = x < y // Output : true Var w = x > y // Output : false Var m = x == y // Output : false
Cesja Operatory:
Cesja Operatory sลuลผฤ do przypisywania wartoลci operowanych arytmetycznie. Uลผywa siฤ ich z symbolami takimi jak +=, -=, *=, /=, %=.
Na przykลad:
var x = 10 var y = 20 var x + = y // Output : 30 Var y - = x // Output : 10 Var x * = y // Output : 200
Zwiฤkszanie i zmniejszanie Operatory:
Operatory inkrementacji i dekrementacji sลuลผฤ do inkrementacji i dekrementacji wartoลci zmiennej lub liczby. Sฤ uลผywane z pomocฤ symboli takich jak ++ i โ.
Istniejฤ dwa rodzaje inkrementacji i dekrementacji: przedinkrementacja ++a, postinkrementacja a++, przed dekrementacjฤ โb, po dekrementacji bโ.
Na przykลad:
var a = 10 var b = 20 var c = a++ // Output: 11 var d = bโ //Output : 19
Tablice Kotlina
Tablica to jednorodny zestaw typรณw danych i jest jednym z najbardziej podstawowych typรณw danych, ktรณry sลuลผy do przechowywania tego samego typu danych w ciฤ gลej lokalizacji pamiฤci. Tablica ma istotne znaczenie dla organizacji danych w dowolnym jฤzyku programowania, dziฤki czemu wiele danych przechowywanych w jednym miejscu moลผna ลatwo wyszukiwaฤ i sortowaฤ.
W Kotlinie tablice sฤ zmiennฤ wspรณลpracฤ tych samych typรณw danych, a nie natywnymi typami danych.
Oto pewne wลaลciwoลci tablicy w Kotlinie
- Po zadeklarowaniu rozmiaru tablicy nie moลผna zmieniฤ.
- Tablice w Kotlinie sฤ modyfikowalne.
- Tablice sฤ przechowywane w sฤ siadujฤ cych lokalizacjach pamiฤci.
- Dostฤp do tablicy moลผna uzyskaฤ za pomocฤ indeksรณw takich jak a[1], a[2], et โ i tak dalej.
- Indeks tablicy zaczyna siฤ od zera, czyli a[0].
W Kotlinie tablicฤ moลผna zdefiniowaฤ na dwie rรณลผne metody
Uลผywajฤ c funkcji arrayOf() :
W Kotlinie wystฤpuje duลผe wykorzystanie funkcji bibliotecznych. Jednฤ z takich funkcji bibliotecznych jest funkcja arrayOf(), ktรณra sลuลผy do definiowania tablicy poprzez przekazanie wartoลci zmiennych do funkcji.
Na przykลad: Niejawna deklaracja typu tablicy przy uลผyciu funkcji arrayOf().
val x = arrayOf(1,2,3,4,5,6,7,8,9)
Na przykลad: Jawnie wpisz deklaracjฤ tablicy, uลผywajฤ c funkcji arrayOf().
Val y = arrayOf<Int>(1,2,3,4,5,6,7,8,9)
Uลผywajฤ c konstruktora tablic:
W Kotlinie istnieje klasa o nazwie Array. Dlatego moลผliwe jest uลผycie tablicy konstruktora do utworzenia tablicy. Tablica w konstruktorze zawiera dwa gลรณwne parametry.
Jaki jest indeks tablicy w Kotlinie?
Funkcja, w ktรณrej indeks tablicy moลผe zwracaฤ wartoลฤ poczฤ tkowฤ indeksu.
Na przykลad:
val abc = Array(7 , { i -> i*1})
Tutaj wartoลฤ tablicy wynosi 7, a wyraลผenie lambda sลuลผy do inicjowania wartoลci elementu.
Istniejฤ rรณwnieลผ rรณลผne metody uzyskiwania dostฤpu do tablic i modyfikowania ich przy uลผyciu okreลlonych funkcji. Dlatego istniejฤ dwie funkcje skลadowe get() i set(), ktรณre sลuลผฤ do uzyskiwania dostฤpu do obiektรณw klasy array.
Na przykลad:
val x = arrayOf(10,20,30,40,50,60,70,80,90) val y = x.get(0) // Output 10
Tutaj wynikiem jest 10, poniewaลผ wartoลฤ pod indeksem 0 tablicy wynosi 10
Uwaga: get() przyjmuje tylko pojedyncze wartoลci
Na przykลad:
val x = arrayOf(10,20,30,40,50,60,70.80.90) val y = x.set(2, 3) //
Wyjลcie: 30 40
Tutaj wynik wynosi 30 i 40, poniewaลผ wartoลฤ pod indeksem 2 tablicy wynosi 30, a pod indeksem 3 wynosi 40.
Uwaga: set() przyjmuje wiele wartoลci z tablicy.
Struny Kotlina
String to podstawowy typ danych w dowolnym jฤzyku programowania. Ciฤ g znakรณw to nic innego jak ciฤ g znakรณw. Klasa String reprezentuje ciฤ gi znakรณw. W Kotlinie wszystkie ciฤ gi znakรณw sฤ obiektami klasy String, co oznacza, ลผe โโliteraลy ลaลcuchowe sฤ implementowane jako instancje klasy.
Skลadnia:
Val myString = "Hey there!"
Kolekcja Kotlina
Kolekcja zawiera kilka obiektรณw podobnego typu, a te obiekty w kolekcji nazywane sฤ elementami lub elementami. Kolekcja moลผe pomรณc w przechowywaniu, odzyskiwaniu, manipulowaniu i agregowaniu danych.
Rodzaje kolekcji:
Niezmienna kolekcja
Ten typ kolekcji obsลuguje funkcje tylko do odczytu. Nie moลผna modyfikowaฤ jego elementรณw.
Metody obejmujฤ :
- Lista โ listOf() i listOf ()
- Zestaw โ setOf()
- Mapa โ mapOf()
Kolekcja zmienna
Obsลuguje zarรณwno funkcjฤ odczytu, jak i zapisu.
Metody obejmujฤ
- Lista โ mutableListOf(),arrayListOf() i ArrayList
- Zestaw โ mutableSetOf(), hashSetOf()
- Mapa โ mutableMapOf(), hashMapOf() i HashMap
Funkcje Kotlina
Funkcje w dowolnym jฤzyku programowania to grupa podobnych instrukcji, ktรณre sลuลผฤ do wykonania okreลlonego zadania. Funkcje pozwalajฤ programowi podzieliฤ go na rรณลผne maลe bloki kodu. Taki podziaล kodu zwiฤksza czytelnoลฤ kodu, moลผliwoลฤ jego ponownego uลผycia i uลatwia zarzฤ dzanie programem.
Poniewaลผ Kotlin jest znany jako jฤzyk o typie statycznym. W tym przypadku sลowo kluczowe โfunโ sลuลผy do deklarowania funkcji. W Kotlinie istniejฤ dwa typy funkcji, ktรณre zaleลผฤ wyลฤ cznie od ich dostฤpnoลci w standardowej bibliotece lub definicji uลผytkownika. Oni sฤ :
- Standardowa funkcja biblioteczna
- Funkcja zdefiniowana przez uลผytkownika
Teraz omรณwmy je szczegรณลowo na przykลadach kodu Kotlina.
Standardowa funkcja biblioteki
Sฤ to wbudowane funkcje biblioteczne, ktรณre moลผna zdefiniowaฤ niejawnie i ktรณre moลผna wykorzystaฤ.
Na przykลad 2:
fun main(args: Array<String>){
var number = 9
var result = Math.sqrt(number.toDouble())
print("$result")
}
Wyjลcie:
3.0
sqrt() to funkcja zdefiniowana w bibliotece, ktรณra zwraca pierwiastek kwadratowy z liczby.
Funkcja print() wypisuje komunikat do standardowego strumienia wyjลciowego.
Funkcja zdefiniowana przez uลผytkownika
Jak sama nazwa wskazuje, funkcje te sฤ zwykle tworzone przez uลผytkownikรณw i moลผna je wykorzystaฤ do zaawansowanego programowania.
Tutaj funkcje deklaruje siฤ za pomocฤ sลowa kluczowego โfunโ.
Na przykลad 3:
fun functionName(){
//body of the code
}
Tutaj wywoลujemy funkcjฤ, ktรณra uruchamia kody wewnฤ trz treลci funkcjiNazwa()
Przykลady funkcji Kotlina:
fun main(args: Array<String>){
sum()
print("code after sum")
}
fun sum(){
var num1 =8
var num2 = 9
println("sum = "+(num1+num2))
}
Wyjลcie:
suma = 17
kod po sumie
Obsลuga wyjฤ tkรณw w Kotlinie
Wyjฤ tek w programowaniu definiuje siฤ jako problem w czasie wykonywania, ktรณry pojawia siฤ w programie i prowadzi do jego zakoลczenia. Ten problem moลผe wystฤ piฤ z powodu mniejszej iloลci miejsca w pamiฤci, braku wiฤ zania tablicy lub warunkรณw takich jak dzielenie przez zero. Aby ograniczyฤ tego typu problemy podczas wykonywania kodu, uลผywana jest obsลuga wyjฤ tkรณw.
Obsลuga wyjฤ tkรณw jest definiowana jako technika, ktรณra radzi sobie z problemami w czasie wykonywania, a takลผe utrzymuje przepลyw programu podczas jego wykonywania.
Kotlin uลผywa wyraลผenia โthrowโ, aby zgลosiฤ obiekt wyjฤ tku. Tutaj wszystkie klasy wyjฤ tkรณw sฤ potomkami klasy Throwable.
Rzuฤ mรณj wyjฤ tek (โzgลasza wyjฤ tekโ)
Istniejฤ cztery typy wyjฤ tkรณw w obsลudze wyjฤ tkรณw. Oni sฤ :
- try โ ten blok zawiera instrukcje, ktรณre mogฤ stworzyฤ wyjฤ tek. Po nim zawsze nastฤpuje catch, last lub oba.
- catch โ przechwytuje wyjฤ tek zgลoszony z bloku try.
- wreszcie โ Zawsze sprawdza, czy wyjฤ tek zostaล obsลuลผony, czy nie.
- rzut โ sลuลผy do jawnego zgลaszania wyjฤ tku.
Prรณbuj zลapaฤ:
W bloku try-catch w obsลudze wyjฤ tkรณw, blok try otacza kod, ktรณry moลผe zgลosiฤ wyjฤ tek, a blok catch przechwytuje wyraลผenie i obsลuguje je.
Skลadnia bloku try catch:
try{
//code with exception
}catch(e: SomeException){
//code handling exception
}
Skลadnia try z final block
try{
//code with exception
}finally{
// code finally block
}
Wreszcie:
W Kolin wreszcie block zawsze sprawdza, czy wyjฤ tek jest obsลuลผony, czy nie, co czyni go bardzo waลผnym stwierdzeniem dotyczฤ cym obsลugi wyjฤ tkรณw.
Na przykลad 4:
W tym fragmencie kodu wystฤpuje wyjฤ tek i jest on obsลugiwany.
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")
}
Wyjลcie:
java.lang.ArithmeticException: / by zero finally block executes write next code
Rzucaฤ:
Blok Throw zgลasza jawny wyjฤ tek. Ponadto sลuลผy do zgลaszania niestandardowych wyjฤ tkรณw.
Skลadnia:
Throw SomeException() Throw SomeException()
Przykลad:
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")
}
}
Wyjลcie:
Bezpieczeลstwo Kotlina Null
Typy systemรณw obsลugujฤ cych Kotlin zasadniczo rozrรณลผniajฤ referencje, ktรณre mogฤ przenosiฤ referencje dopuszczajฤ ce wartoลฤ null, i te, ktรณre nie mogฤ przenosiฤ referencji dopuszczajฤ cych wartoลฤ null. Kotlin to jฤzyk bezpieczeลstwa zerowego, majฤ cy na celu wyeliminowanie wyjฤ tku wskaลบnika zerowego lub odniesienia zerowego z kodu, ktรณry jest celowo znany jako A BillBลฤ d dolara.
Najbardziej konwencjonalna przeszkoda z wielu jฤzyki programowania jest to, ลผe podczas uzyskiwania dostฤpu do czลonka referencji null, skutkuje to NullPointerException, co moลผe byฤ spowodowane operatorem !! lub tym konstruktorem uลผytym gdzie indziej i przekazanym w innym punkcie kodu. Wลaลciwoลฤ nullable wymaga potwierdzenia dla sprawdzenia null za kaลผdym razem przed jej wykorzystaniem.
W Kotlinie system rozrรณลผnia referencje zerowe i referencje niezerowe.
Na przykลad zmienna typu String nie moลผe zawieraฤ wartoลci null:
Na przykลad 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")
}
Wyjลcie:
Kotlin OOP
Podejลcie programowania obiektowego pozwala na podzielenie zลoลผonego fragmentu kodu na mniejsze bloki kodu poprzez tworzenie obiektรณw. Obiekty te majฤ wzajemnie dwie cechy: stan i zachowanie.
Oto niektรณre elementy OOP, ktรณre omรณwimy na przykลadach kodu Kotlina:
- Klasa i obiekty
- Konstruktorzy
- Dziedzictwo
- Klasa abstrakcyjna
Zajฤcia w Kotlinie
Najpierw, przed utworzeniem obiektu, musimy zdefiniowaฤ klasฤ, zwanฤ takลผe planem obiektu.
Skลadnia:
class ClassName {
// property
// member function
... .. ...
}
Obiekty w Kotlinie
Definiujฤ c klasฤ, definiujemy jedynie specyfikacje obiektu, nie przydzielamy ลผadnych innych parametrรณw, takich jak pamiฤฤ czy pamiฤฤ.
Skลadnia:
var obj1 = ClassName()
Konstruktorzy w Kotlinie
Konstruktor to sposรณb na inicjalizacjฤ wลaลciwoลci klasy. Jest to funkcja skลadowa wywoลywana podczas tworzenia instancji obiektu. Ale w Kotlinie dziaลa to inaczej.
W Kotlinie istniejฤ dwa typy konstruktorรณw:
Gลรณwny konstruktor: zoptymalizowany sposรณb inicjowania klasy
Skลadnia:
class myClass(valname: String,varid: Int) {
// class body
}
Konstruktor dodatkowy: pomaga dodaฤ logikฤ inicjalizacji
Dziedziczenie Kotlina
Dziedziczenie ma miejsce, gdy niektรณre wลaลciwoลci klasy nadrzฤdnej zostajฤ przejฤte przez klasฤ podrzฤdnฤ . Dziedziczenie jest dozwolone, gdy dwie lub wiฤcej klas ma te same wลaลciwoลci.
Skลadnia:
open class ParentClass(primary_construct){
// common code
}class ChildClass(primary_construct): ParentClass(primary_construct_initializ){
// ChildClass specific behaviours
}
Klasa abstrakcyjna w Kotlinie
Klasa abstrakcyjna to klasa, ktรณrej instancji nie moลผna utworzyฤ, ale moลผemy dziedziczyฤ z niej podklasy. Sลowo kluczowe โabstractโ sลuลผy do deklarowania klasy abstrakcyjnej.
Na przykลad 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()
}
Wyjลcie:
Teraลบniejszoลฤ i przyszลoลฤ Kotlina
Teraลบniejszoลฤ:
- Wiele firm lubi Netflix, Pinterest i Corda uลผywajฤ Kotlina do tworzenia potฤลผnych treลci Android aplikacje.
- W ciฤ gu krรณtkiego roku, od 2016 do 2017 roku, Kotlin staล siฤ bardzo popularny dziฤki niesamowitym funkcjom programistycznym.
- W 2017 roku Google ogลosiลo, ลผe Kotlin jest oficjalnym jฤzykiem programowania dla systemu Android.
- Moลผesz szybko wymieniฤ Java kod w Kotlinie, poniewaลผ jest on w 100% kompatybilny z Java oraz Android.
Przyszลoลฤ:
- Tworzenie gier wieloplatformowych
- Tworzenie wieloplatformowych aplikacji mobilnych
- Skrypty po stronie usลugi i mikrousลugi
- Nauczanie maszynowe & analiza danych
Podsumowanie
- Kotlin to jฤzyk programowania zaproponowany przez JetBrains w 2010 roku dla aplikacji wieloplatformowych na licencji Apache 2.0.
- Nazwa Kotlin pochodzi od nazwy wyspy Kotlin w podobnej korespondencji Java od nazwy wyspy o nazwie Jawa.
- W 2016 roku wypuszczono pierwszฤ wersjฤ Kotlina v1.0
- Programy Kotlin nie wymagajฤ ลrednikรณw w swoim programie. Dziฤki temu kod jest ลatwiejszy i bardziej czytelny.
- Kotlina za Android programiลci to jฤzyk programowania oparty na OOP, w ktรณrym liniฤ kodu moลผna przyciฤ ฤ nawet o 40%, co czyni Kotlin idealnym wyborem do tworzenia oprogramowania lub stron internetowych.
- W Kotlinie wszystkie zmienne naleลผy deklarowaฤ za pomocฤ sลรณw kluczowych var i val.
- Podobnie jak inne jฤzyki programowania, Kotlin ma rรณwnieลผ swรณj predefiniowany zestaw typรณw danych, takich jak Int, Boolean, Char, Double, itp.
- W jฤzyku Kotlin istnieje zestaw operatorรณw wykorzystywanych w rรณลผnych operacjach, takich jak dziaลania arytmetyczne, operacje przypisania, operacje porรณwnywania itp.
- W Kotlinie tablice sฤ zmiennฤ wspรณลpracฤ tych samych typรณw danych, a nie natywnymi typami danych.
- W Kotlinie tablice definiuje siฤ za pomocฤ dwรณch metod โ ArrayOF() i Constructors.
- Kotlin to jฤzyk bezpieczeลstwa zerowego, ktรณry pomaga usunฤ ฤ wyjฤ tek wskaลบnika zerowego lub odwoลanie zerowe z kodu, ktรณry jest celowo nazywany A BillBลฤ d dolara.










