Samouczek Kotlina dla początkujących (przykłady)

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ę.

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.

Konfiguracja środowiska Kotlin

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.

Konfiguracja środowiska Kotlin

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.

Konfiguracja środowiska Kotlin

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.

Konfiguracja środowiska Kotlin

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.

Konfiguracja środowiska Kotlin

Teraz musisz zdefiniować nazwę projektu i jesteś gotowy do pracy z Kotlinem.

Konfiguracja środowiska Kotlin

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.

Archiarchitekturę Kotlina
Archiarchitekturę Kotlina

Na schemacie architektury wyraźnie widać, że wykonanie kodu odbywa się w trzech prostych krokach.

  1. W pierwszym kroku do kompilatora dodawany jest plik „.kt” lub kotlin.
  2. W drugim kroku kompilator Kotlina konwertuje kod na kod bajtowy.
  3. 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

Funkcja Kotlina

Funkcje Kotlina

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:

Przykład Kotlina

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:

Bezpieczeństwo Kotlina Null

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

Kotlin OOP

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:

Konstruktorzy w Kotlinie

Konstruktorzy w Kotlinie

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:

Klasa abstrakcyjna w Kotlinie

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 i Android.

Przyszłość:

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.