Uvod v Kotlin

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Katera od naslednjih trditev pravilno opisuje namen ključnih besed val in var v Kotlinu?

  • Obe ključni besedi, `val` in `var`, se lahko uporabljata izmenično za deklaracijo spremenljivk in konstant.
  • `val` se uporablja za deklaracijo konstant, katerih vrednost se ne more spreminjati, medtem ko se `var` uporablja za deklaracijo spremenljivk, katerih vrednost se lahko spreminja. (correct)
  • `val` se uporablja za deklaracijo spremenljivk, katerih vrednost se lahko spreminja, medtem ko se `var` uporablja za deklaracijo konstant.
  • `val` se uporablja za deklaracijo spremenljivk globalnega obsega, medtem ko se `var` uporablja za lokalne spremenljivke.

Kako Kotlin obravnava obveznost podpičij na koncu vrstic kode?

  • Podpičja so priporočljiva za boljšo berljivost kode.
  • Podpičja so obvezna na koncu vsake vrstice kode.
  • Podpičja niso obvezna, razen v specifičnih primerih, ko prevajalnik zazna nejasnosti. (correct)
  • Podpičja so obvezna samo v funkcijah.

Katera izmed naštetih funkcionalnosti je značilna za Kotlin in jo izboljšuje v primerjavi z Javo?

  • Izključno dinamično tipiziranje spremenljivk.
  • Odsotnost podpore za objektno usmerjeno programiranje.
  • Varnost izvedbe kode z vgrajenim omejevanjem `NullPointerException`. (correct)
  • Obvezna uporaba podpičij na koncu vsake vrstice kode.

Kaj pomeni, da je Kotlin multiplatformni jezik?

<p>Kotlin lahko cilja na različne platforme, kot so JVM, JavaScript in izvorna koda. (D)</p> Signup and view all the answers

Katera od naslednjih karakteristik ne velja za Kotlin?

<p>Je v celoti združljiv z vsemi različicami Jave. (C)</p> Signup and view all the answers

Kateri tip datoteke se najpogosteje uporablja za izvorno kodo v Kotlinu?

<p>.kt (B)</p> Signup and view all the answers

Katera od naslednjih naštetih možnosti ne spada med osnovne značilnosti jezika Kotlin?

<p>Obvezno preverjanje izjem (checked exceptions) (D)</p> Signup and view all the answers

Kaj je glavna prednost interoperabilnosti Kotlina z Javo?

<p>Možnost uporabe Kotlin kode v projektih Java in obratno. (C)</p> Signup and view all the answers

Katera od naslednjih možnosti predstavlja veljaven način za ustvarjanje novega projekta Kotlin?

<p>Uporaba integriranega razvojnega okolja (IDE) kot je IntelliJ IDEA. (A)</p> Signup and view all the answers

Kateri od naslednjih tipov izrazov je podprt v Kotlinu?

<p><code>if (condition) {then} else {else}</code> (D)</p> Signup and view all the answers

Kakšna je razlika med arrayOf in Array v Kotlinu?

<p><code>arrayOf</code> ustvari polje z določenimi vrednostmi, medtem ko <code>Array</code> ustvari polje, kjer lahko določimo velikost in kako se element izračuna. (D)</p> Signup and view all the answers

Za katere tipe se uporablja naslednja deklaracija: val numbers = intArrayOf(1, 2, 3)?

<p>IntArray (D)</p> Signup and view all the answers

Kdaj je priporočljivo uporabiti podatkovne razrede (data classes) v Kotlinu?

<p>Ko potrebujemo razred samo za shranjevanje podatkov. (D)</p> Signup and view all the answers

Kaj je značilno za statično tipiziranje, kot ga uporablja Kotlin?

<p>Tip spremenljivke se preveri med prevajanjem, kar omogoča zgodnje odkrivanje napak. (B)</p> Signup and view all the answers

Katera od naštetih možnosti pravilno opisuje način uporabe zanke for v Kotlinu?

<p><code>for (item in array)</code> (D)</p> Signup and view all the answers

Kateri dostopni modifikator v Kotlinu omogoča, da je lastnost ali funkcija vidna samo znotraj modula?

<p><code>internal</code> (D)</p> Signup and view all the answers

Kaj je namen metode toIntOrNull() v Kotlinu?

<p>Pretvori niz v celo število in vrne <code>null</code>, ce pretvorba ni možna. (A)</p> Signup and view all the answers

Kateri od naslednjih operatorjev se uporablja za preverjanje enakosti dveh vrednosti v Kotlinu?

<p>== (D)</p> Signup and view all the answers

Kaj pomeni, da so razredi v Kotlinu privzeto final?

<p>Iz razreda ni mogoče dedovati. (C)</p> Signup and view all the answers

Kakšna je razlika med primarnim in sekundarnim konstruktorjem v Kotlinu?

<p>Razred lahko ima samo en primarni in več sekundarnih konstruktorjev. (D)</p> Signup and view all the answers

Kako inicializiramo lastnosti razreda v primarnem konstruktorju v Kotlinu?

<p>Direktno v deklaraciji razreda z uporabo <code>val</code> ali <code>var</code>. (B)</p> Signup and view all the answers

Kaj od naslednjega velja za iterativne ukaze v Kotlinu?

<p>Kotlin ima ukaze while, do-while in for. (D)</p> Signup and view all the answers

Kaj je značilno za razširitvene funkcije (extension functions) v Kotlinu?

<p>Omogočajo dodajanje novih funkcionalnosti obstoječim razredom, ne da bi jih spreminjali. (C)</p> Signup and view all the answers

Katero od naslednjih trditev drži za poimenovane parametre funkcij v Kotlinu?

<p>Omogočajo podajanje argumentov funkcije v poljubnem vrstnem redu. (A)</p> Signup and view all the answers

Kotlin razširja funkcionalnosti Jave. Katera od naslednjih funkcionalnosti je prednost, ki jo Kotlin prinaša?

<p>Kotlin ponuja večjo varnost, saj preprečuje NullPointerException napake. (D)</p> Signup and view all the answers

Kateri so veljavni aritmetični operatorji, ki se jih lahko uporablja v Kotlinu?

<p>+, -, *, /, % (B)</p> Signup and view all the answers

Kateri razlog je pripomogel, da je Google podjetje leta 2019 priporočilo Kotlin kot jezik za mobilne aplikacije na sistemu Android?

<p>Združljivost z Javo in varnost. (C)</p> Signup and view all the answers

Kateri od naštetih tipov podatkov je celo število?

<p>Short (A)</p> Signup and view all the answers

Kateri izmed naštetih tipov podatkov ne uvrščamo med referenčne tipe podatkov?

<p>Short (A)</p> Signup and view all the answers

Kaj od naslednjega velja pri razvoju kode?

<p>Potrebno je shraniti spremembe pod sistem verzioniranja kode (Git). (D)</p> Signup and view all the answers

Med programiranje je potrebno izbirati ime spremenljivk ter metod. Kaj od naslednjega velja?

<p>Imena morajo biti smiselna, da vemo za kaj se spremenljivka uporablja. (D)</p> Signup and view all the answers

Kaj je Integerated Development Enviroment (IDE)?

<p>Programsko okolje za pisanje kode. (B)</p> Signup and view all the answers

Kateri razlog je za to, da priporočeno uporabljamo konvencije pri kreiranju kode?

<p>Z konvencijami zmanjšamo možnost napake na minimum hkrati pa je koda bolj čitljiva. (C)</p> Signup and view all the answers

Kaj se zgodi s kodo med postopkom 'commit' pri sistemu za verzioniranje kode (Git)?

<p>Koda se shrani na lokalnem računalniku. (B)</p> Signup and view all the answers

Če se na nekaterih mestih v kodi ponavljajo podobni programski konstrukti, bo smiselna ...

<p>Implementacija metode. (D)</p> Signup and view all the answers

Recimo, da imamo razred, ki je javen (public). Kakšna je vidnost tega razreda?

<p>Razred je viden povsod. (B)</p> Signup and view all the answers

Kotlin ima funkcijo razširitve, ki dopušča razširitev obstoječe kode. Kaj od naštetega odlikuje to funkcijo?

<p>Razširitev se obnaša kot nadaljevanje originalnega razreda. (C)</p> Signup and view all the answers

Flashcards

Kaj je Kotlin?

Kotlin je statično tipiziran programski jezik.

Kdaj je nastal Kotlin?

Kotlin je bil predstavljen leta 2011 s strani JetBrains.

Kam se prevede Kotlin?

Kotlin se lahko prevede v bajt kodo JVM, JavaScript in Kotlin native.

Interoperabilnost z Javo

Kotlin omogoča uporabo razredov Kotlin in Java skupaj v projektu.

Signup and view all the flashcards

Kaj pomeni 'val' v Kotlinu?

v Kotlinu se uporablja za deklaracijo nespremenljivih spremenljivk (konstant).

Signup and view all the flashcards

Kaj pomeni 'var' v Kotlinu?

v Kotlinu se uporablja za deklaracijo spremenljivk, ki se lahko spreminjajo.

Signup and view all the flashcards

Primerjava enakosti v Kotlinu

Operator '==' preverja enakost vrednosti, medtem ko '===' preverja enakost reference

Signup and view all the flashcards

Kateri so osnovni tipi v Kotlinu?

Osnovni tipi vključujejo Boolean, Characters, Number in Arrays.

Signup and view all the flashcards

Kateri so številski tipi v Kotlinu?

Številski tipi vključujejo Byte, Short, Int, Long, Float in Double.

Signup and view all the flashcards

Kateri so referenčni tipi v Kotlinu?

Referenčni tipi vključujejo Razrede, Vmesnike, String in Nothing.

Signup and view all the flashcards

Kako so predstavljena polja v Kotlinu?

Polja so v Kotlinu predstavljena z razredom Array.

Signup and view all the flashcards

Definiranje enumeracij

Enumeracije so definirane z ključno besedo enum.

Signup and view all the flashcards

Kaj so razširitvene funkcije?

Kotlin omogoča, da dodate funkcije razredom brez dedovanja ali uporabe vzorcev, na primer decorator.

Signup and view all the flashcards

Kaj so funkcije višjega reda?

Funkcije višjega reda so funkcije, ki sprejemajo druge funkcije kot parametre ali jih vračajo.

Signup and view all the flashcards

Kaj je 'when' v Kotlinu?

when je nadomestilo za switch v drugih jezikih; lahko se uporablja kot izraz ali stavek.

Signup and view all the flashcards

Uporaba zanke 'for'

for se uporablja za iteriranje skozi zbirke, range in druge ponovljive objekte.

Signup and view all the flashcards

Uporaba zank 'while' in 'do-while'

while in do-while se uporabljata za ponavljanje kode dokler je pogoj izpolnjen.

Signup and view all the flashcards

Nadzor poteka zank

return, break in continue se uporabljajo za nadzor poteka zank.

Signup and view all the flashcards

Kaj je doseg (scope)?

Doseg določa, kje v kodi je spremenljivka dostopna.

Signup and view all the flashcards

Občutljivost identifikatorjev

Identifikatorji so občutljivi na velike in male črke.

Signup and view all the flashcards

Določila vidnosti v Kotlinu

Obstajajo private, public, protected in internal.

Signup and view all the flashcards

Označevanje funkcij

Funkcije so označene s ključo besedo 'fun'.

Signup and view all the flashcards

Deklaracija razreda

class MyClass {}

Signup and view all the flashcards

Koliko vmesnikov lahko implementira razred?

Razred lahko implementira več vmesnikov.

Signup and view all the flashcards

Privzeta vidnost

Če ne nastavimo vidnosti, je privzeto nastavljena na public.

Signup and view all the flashcards

Polja primitivnih tipov?

Polja primitivnih tipov: ByteArray, ShortArray, IntArray

Signup and view all the flashcards

Study Notes

Uvod v Kotlin

  • Predavanje obravnava programski jezik Kotlin, ki ga je razvilo podjetje JetBrains.
  • Kotlin je bil predstavljen leta 2011.
  • JetBrains je znan po ustvarjanju orodij kot so PhpStorm, ReSharper in PyCharm.
  • Trenutna verzija Kotlina je 2.1.10 (januar 2025).
  • Kotlin je multiplatformni jezik, ki deluje na Android, JVM, iOS, Windows, Linux, JavaScript, WebAssembly in LLVM.
  • Datotečne končnice za Kotlin so .kt, .kts in .ktm.
  • Kotlin podpira več paradigem programiranja, vključno z objektno-usmerjenim, funkcijskim, imperativnim, deklarativnim, generičnim in sočasnim programiranjem.
  • Ime Kotlin izhaja iz otoka blizu St. Petersburg.
  • Kotlin je nov, statično tipiziran jezik.
  • Kotlin odpravlja pomanjkljivosti Jave.
  • Kotlin se prevede v bajt kodo JVM, JavaScript in Kotlin native (brez navideznega stroja).
  • Razredi Kotlin in Java se lahko uporabljajo skupaj v projektu.
  • Kotlin deluje brezhibno z IntelliJ Idea in ima dobro podporo JetBrains.
  • Kotlin pridobiva na popularnosti.
  • Od leta 2019 je Kotlin priporočen s strani Googla za razvoj mobilnih aplikacij za Android.

Odlike Kotlina

  • Ključni besedi sta val in var.
  • Podpira poimenovane parametre funkcij.
  • Funkcije lahko vračajo več vrednosti.
  • Podpičja niso obvezna.
  • Zagotavlja varnost izvedbe kode z omejevanjem NullPointerException.
  • Podpira izraze if, try-catch in when.
  • Omogoča uporabo vgrajenih (inline) in razširitvenih funkcij.
  • Podpira koncepte funkcijskega programiranja, kot so funkcije višjega reda.
  • Omogoča pametno pretvarjanje tipov (casting).
  • Podpira async / await funkcionalnost.
  • Podpira podatkovne razrede.
  • Uporablja lastnosti (podobno kot v C#).
  • Ne zahteva preverjanja izjem.
  • Omogoča prekrivanje operatorjev.

Tipi v Kotlinu

  • Osnovni tipi vključujejo Boolean, Characters, Number in Arrays.
  • Številski tipi vključujejo Byte, Short, Int, Long, Float in Double.
  • Obstajajo tudi referenčni tipi, kot so Razredi, Vmesniki in String.
  • Obstaja tudi tip Nothing.
  • Kotlin pozna tudi nepredznačene številske tipe (UByte, UShort, UInt, ULong).

Char, Boolean in String v Kotlinu

  • Char predstavlja znakovni tip z uporabo enojnih narekovajev.
  • Podprte so izhodne sekvence kot \t, \b, \n, \r, ', ", \, $, \uFF00.
  • Char uporablja 16-bit Unicode znake.
  • Boolean tip podpira logične operacije ||, &&, !.
  • String uporablja dvojne narekovaje.

Polja (Arrays) v Kotlinu

  • Polja so predstavljena z razredom Array.
  • Uporablja se lahko operatorski simbol [] (funkcije get/set).
  • Polja se lahko ustvari s funkcijo arrayOf(...) ali s konstruktorjem Array(...).
  • Obstajajo tudi polja primitivnih tipov kot so ByteArray, ShortArray, IntArray.
  • Med polji primitivnih tipov in razredom Array ni relacije dedovanja, imajo pa enake metode.

Statična Tipizacija

  • Kotlin je statično tipiziran programski jezik.
  • Pri statični tipizaciji je tip spremenljivke določen ob deklaraciji.
  • Statična tipizacija izboljša hitrost izvajanja kode in pomaga preprečevati programske napake.

Izrazi v Jeziku Kotlin

  • Literali so decimalna števila (npr. 26, 123L), binarna (0b00000101), Double (71.5, 342.5e10), Float (123.4f).
  • Kot ločilo se lahko uporabi podčrtaj.
  • Konverzije med tipi se izvajajo z metodami kot so toByte(), toShort(), toInt(), toLong(), toDouble().
  • Agregati so npr. tabele števil int.
  • Funkcijski klic je lahko s klicem metod ali z operatorji.
  • Dostop do konstant in spremenljivk je neposreden.

Operatorji

  • Aritmetični operatorji vključujejo +, -, *, / in %.
  • Vsak operator ima določeno prioriteto.

Spremenljivke

  • Vrste spremenljivk so Instančne, Lokalne in Parametri.
  • Kotlin ne pozna razrednih spremenljivk (Class Variables, Static Fields).
  • Ločimo osnovne in referenčne tipe spremenljivk.
  • Shranljive vrednosti so vrednosti osnovnega tipa in reference.
  • Polja in objekte lahko selektivno ažuriramo.

Ukazi, Izrazi in Deklaracije

  • if je izraz v Kotlinu, kar omogoča vračanje vrednosti.
  • Ne podpira condition ? then : else.
  • Pozna when.
  • Iterativni ukazi vključujejo while in do while.
  • Zanke vključujejo for.
  • Kotlin ne podpira vzporednih ukazov.
  • Poznamo deklaracijo spremenljivke, konstante, metode, razreda in vmesnika.
  • Vidljivost spremenljivk je odvisna od dosega (scope).

Identifikatorji in Rezervirane besede

  • Identifikatorji so občutljivi na velike in male črke.
  • Identifikator se lahko začne s črko ali znakom "_".
  • Identifikator ne sme vsebovati presledka ali posebnih znakov (@, #, %, ...).
  • Obstajajo povezljive vrednosti (spremenljivke, metode, razredi, vmesniki).
  • Rezervirane besede (keywords) in mehke rezervirane besede (soft keywords)imajo poseben pomen v jeziku.

Formalni parametri in Argumenti

  • Formalni parameter je identifikator v deklaraciji metode.
  • Argument je vrednost, ki se prenese v metodo.
  • Parametri se lahko ujemajo po vrstnem redu ali po imenu.
  • Parameter je lahko poljubnega tipa.
  • Funkcije višjega reda omogočajo pošiljanje metode kot parameter v metodo.

Objektno-usmerjeni del Kotlina

  • Kotlin je razredni, objektno usmerjen jezik.
  • Kotlin podpira razredno in enkratno dedovanje.
  • Korenski razred je Any ali Any?, od katerega implicitno izpeljejo vsi razredi.
  • Podrazred podeduje vse komponente nadrazreda, razen konstruktorjev.
  • Konstruktorji se lahko pokličejo v podrazredu.
  • Vmesnik (interface) je pogodba med razredom in zunanjim svetom.
  • Ko razred implementira vmesnik, se zaveže k implementaciji predpisanega obnašanja.
  • Razred lahko implementira več vmesnikov.

Razredi

  • Konstruktor omogoča inicializacijo lastnosti razreda.
  • Poznamo primarni in sekundarni konstruktor.
  • Primarni konstruktor je del glave razreda z omejeno sintakso in brez možnosti dodatne kode.
  • Parametrom konstruktorja lahko določimo privzete vrednosti.
  • Razširjena inicializacija lastnosti razreda se izvede s pomočjo bloka init.

Vidnost

  • Vidnost se lahko nastavi za lastnosti (properties) in funkcije (member functions).
  • Private je dostop samo znotraj razreda.
  • Public je viden povsod.
  • Protected je viden v razredu in njegovim podrazredom.
  • Internal je viden znotraj modula.
  • Če ne nastavimo vidnost, je privzeto public.

Set in Get

  • V Kotlinu se get in set metode ustvarijo samodejno.
  • Rezervirane besede so get/set in field/value.
  • Lahko pa zapišemo ju ob dodatni logiki.
  • Metode setin get lahko nastavimo privatne.
  • Za lokalne spremenljivke ni privzetih vrednosti.
  • Pri poskusu dostopa do neinicializirane lokalne spremenljivke pride do napake med prevajanjem.

Dedovanje

  • Razredi so v Kotlinu privzeto final, kar preprečuje dedovanje razen če razred označimo s open.

IntelliJ Idea

  • IntelliJ IDEA je vodilni IDE za Javo, razvit pri JetBrains.
  • IntelliJ Idea ima podpora za številne programske jezike (Java, Kotlin, JavaScript, Groovy, Scala, itd..)
  • Podpora za različne sisteme za verzioniranje kode, kot so Git, SVN, Mercurial in TFS.
  • Vsebuje številna orodja kot so orodja za baze podatkov.

Verzioniranje

  • IntelliJ podpira Git.
  • Git je sistem za verzioniranje.
  • Delo z Git vključuje: Spremembe v datotekah ali nove datoteke, oddaja kode (commit) in nalaganje kode (push).
  • GitHub je repozitorij predavanj.
  • Za uvod v Kotlin se priporoča https://play.kotlinlang.org/.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Discover Kotlin
5 questions

Discover Kotlin

AffableUvarovite avatar
AffableUvarovite
Overview of Kotlin Programming Language
10 questions
Kotlin Programming Basics Quiz
50 questions
Kotlin dla programistów Androida
55 questions
Use Quizgecko on...
Browser
Browser