CitatKotlin je opći (General purpose) programski jezik koji je osmislio i razvija JetBrains, proizvoÄ'aÄ InteliJ IDEA-e, najpopularnije razvojne okoline za Javu. To je programski jezik koji programiranje Äini efikasnim i zabavnim, a popularnosti znatno doprinosi puna Java kompatibilnost - tako da će ga, najvjerojatnije, najprije prihvatiti postojeća Java zajednica.
Evo jedan primjer razlike izmedju jave i kotlina (slike su preuzete sa startit.rs u svrhu edukacije)
Evo primjera implementacije domenske klase u Java programskom jeziku:
(https://startit.rs/media/Screen-Shot-2017-06-16-at-14.13.18.png)
U Kotlinu to izgleda ovako:
(https://startit.rs/media/Screen-Shot-2017-06-16-at-14.14.19.png)
Mislim da slike govore vise od tisucu rijeci... Sad prelazimo na kalkulator, da vam pojasnim kako sam ja izradio simple kalkulator u programu IntelliJ IDEA Community Edition 2019.1.3 x64
Ukoliko se pitate sto je IntelliJ IDEA, pogledajte ovdje na sluzbenoj stranici JetBrains-a Klikni me njezno (http://www.jetbrains.org/pages/viewpage.action?pageId=983211)
Ehh sad da pocnemo sa kalkulatorom...
Kod izgleda ovako, pa cemo ga detaljno obraditi
fun main(args:Array<String>) {
println("Unesite prvi broj")
var broj:Int = readLine()!!.toInt()
println("Unesite drugi broj")
var brojdva:Int = readLine()!!.toInt()
var rezultat = broj * brojdva
println("Broj " + broj + " i broj " + brojdva + " jednaki su umnosku " + rezultat)
}
Sad da pojasnimo sta je sta
fun main(args:Array<String>) {
}
//-- "fun" oznacava kreiranje funkcije u ovom slucaju "main" znaci glavna funkcija za izvrsavanje radnji koju napisemo izmedju {}, narvano mozemo kreirati funkcije i pozivati ih u "fun main" to je preporucljivo (o tome cemo nesto kasnije)
println("Unesite prvi broj")
//-- imamo dvije vrste "printa" a to su "print" i "println", razlika je u tome sto "println" ispise tekst i prebaci nas u novi red
var broj:Int = readLine()!!.toInt()
//-- "var" kreira varijablu pod imenom "broj" (ime moze biti bilo koje ali u ovom slucaju nek bude "broj"
//-- "Int" se koristi kao funkcija za cijeli broj (broj bez ostatka) u ovom slucaju unosimo samo cijele brojeve
//-- "=" znak jednakosti govori o svrhi varijable (sto ce se dogoditi) u ovom slucaju pod varijablom "broj" ce se unijeti broj preko tastature
//-- "readLine()" sama rijec govori (procitaj liniju) znaci zapamti ili procitaj unos
//-- "!!" operator za provjeru vrijednosti unesenog broja (ukoliko napisemo 1.5 a stavili smo unos "Int- cijeli broj" dobit cemo error
//-- "toInt()" Unos mora biti cijeli broj, znaci provjerava je li unos cijeli broj "npr broj 1"
println("Unesite drugi broj")
var brojdva:Int = readLine()!!.toInt()
//-- ponovimo postupak za broj dva, samo smo promjenili ime varijable u "brojdva"
var rezultat = broj * brojdva
//-- zatim kreiramo varijablu "rezultat" koja ce biti jednak umnosku "broj" puta(*) brojdva"
//-- matematicki operatori u kotlinu su [+][-][*][/][%]
println("Broj " + broj + " broj " + brojdva + " = " + rezultat)
//-- zadnja stvar koju kreiramo to je ispis rezultata
// Koristimo println("text" + ime varjable (broj) + "tekst" + ime varjable (brojdva) + "tekst" + varijabla "rezultat" koja je jednaka umnosku broj*brojdva
Evo ukratko kako se radi s brojevima s ostatkom
un main(args:Array<String>) { ////////////////////////////////////////////////////////////////////////////
println("Unesite prvi broj") gore smo imali "var broj:Int" ovdje umjesto "int" koristimo "Double"
tako i "toDouble()" Mozemo upisati cijeli broj ili broj s ostatkom
var broj:Double = readLine()!!.toDouble() ali u verziji s "toInt()" Mozemo samo cijeli broj"
/////////////////////////////////////////////////////////////////////////////
println("Unesite drugi broj")
var brojdva:Double = readLine()!!.toDouble()
val rezultat = broj + brojdva
println("Broj " + broj + " i broj " + brojdva + " jednaki su umnosku " + rezultat)
}
Sad da vam pojasnim kako sam ja izradio kalkulator malo napredniji ali jednostavan
Ovako izgleda gotov kodfun main(args: Array<String>) {
println("Jednostavan kalkulator u kotlinu")
println("Odaberi funkciju")
println("Oduzimanje[1], Zbrajanje[2], Djeljenje[3], Mnozenje[4]")
val opcija:Int = readLine()!!.toInt()
when(opcija){
1 -> print(oduzimanje())
2 -> print(zbrajanje())
3 -> print(djeljenje())
4 -> print(mnozenje())
else -> {
print("Pogresna opcija!")
}
}
}
fun oduzimanje():Double {
println("Unesite prvi broj")
var broj = readLine()!!.toDouble()
println("Unesite drugi broj")
var brojdva = readLine()!!.toDouble()
val rezultat = broj - brojdva
println("Rezultat je " + rezultat)
return rezultat
}
fun zbrajanje():Double {
println("Unesite prvi broj")
var broj = readLine()!!.toDouble()
println("Unesite drugi broj")
var brojdva = readLine()!!.toDouble()
val rezultat = broj + brojdva
println("Rezultat je " + rezultat)
return rezultat
}
fun djeljenje():Double {
println("Unesite prvi broj")
var broj = readLine()!!.toDouble()
println("Unesite drugi broj")
var brojdva = readLine()!!.toDouble()
val rezultat = broj / brojdva
println("Rezultat je " + rezultat)
return rezultat
}
fun mnozenje():Double {
println("Unesite prvi broj")
var broj = readLine()!!.toDouble()
println("Unesite drugi broj")
var brojdva = readLine()!!.toDouble()
val rezultat = broj * brojdva
println("Rezultat je " + rezultat)
return rezultat
}
POJASNJNJEU funkciji "main" sam kreirao println("Oduzimanje[1], Zbrajanje[2], Djeljenje[3], Mnozenje[4]")
//-- Odabir zatim sam kreiraoval opcija:Int = readLine()!!.toInt()
//-- kreirao sam varijablu "opcija" koja ce sluziti za odabri matematickog operatera (npr "Mnozenje[4] unosimo broj 4 (posto unosimo cijele brojeve za odabir onda koristimo "Int" i "toInt()"zatim kreiramo odabir funkcijom "when" ili "kada na naskom kako bi se reklo" when(varijabla){
// kod
}
zatim napisemo
1 -> print(oduzimanje()) // 1[unos opcije] -> [uradi] print(oduzimanje()) [ispisi funkciju "oduzimanje"]
2 -> print(zbrajanje())
3 -> print(djeljenje())
4 -> print(mnozenje())
Zatim koristimo "else" za neispravan unos, za sve drugo osim brojeva na skali od 1-4 u ovom slucajuelse -> {
//-- "else" ili na nsem "sve ostalo"
print("Pogresna opcija")
}
funkcija "main" bi trebala izgledati ovakofun main(args: Array<String>) {
println("Jednostavan kalkulator u kotlinu")
println("Odaberi funkciju")
println("Oduzimanje[1], Zbrajanje[2], Djeljenje[3], Mnozenje[4]")
val opcija:Int = readLine()!!.toInt()
when(opcija){
1 -> print(oduzimanje())
2 -> print(zbrajanje())
3 -> print(djeljenje())
4 -> print(mnozenje())
else -> {
print("Pogresna opcija!")
}
}
}
Pojasnjenje u vezi zagrada {}fun main(args: Array<String>) { --- pocetak funkcije main
// kod
when(){ --- pocetak when
// kod
} --- kraj when
else ->{ --- pocetak od else
//kod
} --- kraj else
} --- zatvara funkciju main
Nakon pisanja odabira u "fun main" ispod nje sam kreirao nove "fun" a to su funkcije koje se ispisuju podCitat
1 -> print(oduzimanje())
2 -> print(zbrajanje())
3 -> print(djeljenje())
4 -> print(mnozenje())
u funkciji "main" smo kreirali "odabir", kreirali smo sto ce se desiti nakon unesenih brojeva 1,2,3,4
sada moramo napisati kod koji ce se ukljuciti nakon odabira opcije 1 (oduzimanje)
fun oduzimanje():Double { // kreiramo "fun imeFunkcije():Double- za brojeve s ostatkom
println("Unesite prvi broj")
var broj = readLine()!!.toDouble()
println("Unesite drugi broj")
var brojdva = readLine()!!.toDouble()
val rezultat = broj - brojdva
println("Rezultat je " + rezultat)
return rezultat
}
Naravno necu sad pisati kod za sve druge funkcije, zapravo kad napiste samo jednu ostale kopirajte i promjenite samo ovoval rezultat = broj - brojdva //-- promjenite u zbrajanje oduzimanje ili nesto trece
i tako kreirate funkcije ispod "main" funkcije jer je pozeljno da "main" funkciju koristite za pozivanje svih ostalih funkcijafunkcije u ovom slucaju pozivate odabirom brojeva od 1-4 tako sto koristimo1 -> print(oduzimanje()) //-- S ovim smo pozvali funkciju oDuzimanje nakon unosa broja 1
Napomena:
Krepo sam dok sam ovo sve ispisao, ako sam negdje pogrijesio molim vas da me ispravite!
Korisni linkovi:
PROGRAMIZ LITERATURA (https://www.programiz.com/kotlin-programming/hello-world)
Intellij IDEA Download link (https://www.jetbrains.com/idea/download/#section=windows)
Nije lose, objasnio si lepo,ali mogao si objasniti sta je koja funkcija i cemu sluzi.
Citat: Vasic poslato Jul 07, 2019, 15:43:52 POSLE PODNE
Nije lose, objasnio si lepo,ali mogao si objasniti sta je koja funkcija i cemu sluzi.
zato sam dodao pod korisne linkove
PROGRAMIZ [CLICK ME] (https://www.programiz.com/kotlin-programming/variable-types) za sitne detalje, jer bi mi trebalo pola dana da objasnim od a do ž