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