IDE juhendid
IntelliJ IDEA sissejuhatus
IntelliJ on JetBrains poolt loodud Java arenduskeskkond, mis muudab koodi kirjutamise oluliselt mugavamaks, kui see lihtsalt Notepadi kasutades oleks. IntelliJ community edition (tasuta) keskendub Java ökosüsteemile, IntelliJ ultimate edition (ut.ee meiliga tudengitele tasuta) lisab võimalused ka veebirakenduste arendamiseks. IntelliJ peamised eelised siin kursusel on:
- levinud vigade ja probleemide jooksvalt välja toomine (code inspections);
- muutujate ja funktsioonide nimede automaatne lõpetamine (code completion);
- kiire ja mugav koodis navigeerumine (leiab kõik meetodi kasutuse kohad, kasutamise kohast definitsiooni juurde hüppamine jne).
IntelliJ võib esmakordsel käivitamisel mõned küsimused esitada. Customize IntelliJ IDEA
aknas võib valida Skip All and Set Defaults.
Esimest korda Java projekti luues tuleb IntelliJ'ile ka ette näidata, kuhu Java on installitud. Vajutage Project SDK
juures New
ja sealt JDK
. Windowsi puhul on see tavaliselt C:\Program Files\Java\jdk...
ja Linuxi puhul /usr/lib/jvm/jdk...
Projekti loomisel additional libraries ja templates peaks kõik valimata jätma.
Olemasoleva projekti avamiseks valige File-menüüst New, Project from Existing Sources ja avage projekti kaust (see, mille sees on src
kaust, mitte src
kaust ise). Vajutage Next, kuni IntelliJ import wizard rahule jääb. Erinevate murede korral võib olla mõistlik IntelliJs projekt sulgeda, projekti kaustast .idea kaust ja iml laiendiga projektifail ära kustutada ja projekt uuesti importida.
Hello world (IntelliJ)
- Käivitage IntelliJ.
- Looge uus Java projekt
File --> New --> Project
. - Kontrollige, et vasakul oleks lahti Project toolbar. Kui see on puudu, siis vajutage
Alt+1
või hoidke hiirt all vasakul oleva ikooni peal ja valige Project. - Otsige Project-tööriistaribalt
src
kaust ja paremklõpsake sellel. ValigeNew --> Java Class
ja määrake uuele klassile nimeksHello
. Uue klassi koodifail peaks avanema.
- Lisage klassi
main
meetod ja kirjutage sinna midagi mõistlikku, mis ka midagi ekraanile väljastab:
public class Hello { public static void main(String[] args) { // uus kood siia } }
- Käivitage kood paremklõpsates
main
meetodil ja validesRun Hello.main()
- Tulemus peaks ilmuma konsooliaknasse.
Eclipse sissejuhatus
Eclipse on vabavaraline arenduskeskkond, mis abistab arendajat koodi (Java, aga ka teiste keelte) kirjutamisel ja vigade otsimisel. See võimaldab programmi käivitada, leida kompileerimisvigu, mugavalt koodis navigeeruda ja koodi efektiivsemalt kirjutada (näiteks iselõpetamise (autocomplete) funktsionaalsus lõpetab meetodi ja muutujanimed). Lisaks on Eclipse-il suur hulk pistikprogramme, mis pakuvad lisafunktsionaalsust versioonihalduse kasutamiseks ja paljuks muuks.
Meie tegutseme Java projektidega. Põhieesmärgiks on algtekstide toimetamine, süntaktiline silumine ja käivitamine. Silumise hõlbustamiseks saab panna katkestuspunkte (breakpoint), mille abil saab jälgida muutujate väärtuste muutumist.
Andmed asuvad töökataloogis (workspace). Sinna peab kasutajal olema õigus kirjutada. Meie puhul sobib selleks nt. alamkataloog oop
. Iga projekt paigutub eraldi alamkataloogi, milles siis on erinevad failid.
Püüdkem nüüd Eclipse käivitada
- Arvutiklassis peaks Eclipse-i ikoon olema töölaual. (Kui pole, siis leidke kataloog, kus on uusim Eclipse.) Sülearvutites peaks Eclipse olema C kettal. Linuxi arvutiklassis Eclipse-i saab kätte kirjutades terminali aknas
eclipse
(Linuxi-s käsurearežiimi saab Terminaliga (Konsole)Kickoff Application Launcher --> Applications --> System --> Terminal (Konsole)
). - Töökataloogiks määrake kataloog
oop
.
- Tervitusaknad võite sulgeda, aga võite ka neid soovi korral lugeda.
- Valige
Window --> Perspective --> Open Perspective --> Others ...--> Java
või ärge valige midagi, sest Java ongi vaikimisi valikus.
Kui soovite töötada juba varem tehtud failidega, siis kasutage importimist File --> Import... --> General --> File system
.
Hello world (eclipse)
- Käivitage Eclipse.
- Looge uus Java projekt
File --> New --> Java Project
võiFile --> New --> Project ... --> Java Project
. - Pange projektile mõistlik nimi. Esialgu võiks aktsepteerida vaikimisi vastuseid loomisdialoogis.
- Nüüd peaks Package Explorer aknas olema teie loodud projekt olemas. Kui sellel hiire parema klahviga klõpsata, siis avaneb menüü.
- Looge uus klass:
New --> Class
, nimi alaku suurtähega. Klassi loomise dialoogis- jätke Package tühjaks,
- Modifiers olgu public,
- Superclass olgu java.lang.Object,
- loodavatest meetoditest märgime ära public static void main(String[] args).
- Toimetiaknas on nüüd teksti toorik.
- Kirjutage
main
-meetodisse midagi mõistlikku, mis ka midagi ekraanile väljastab, ja salvestage. - Käivitage
Run --> Run
võiRun --> Run As --> Java Application
. - Tulemus peaks ilmuma konsooliaknasse.
Käsurea argumendid
Kui Java programm käivitada käsurealt, siis klassinime järel olevaid sõnesid loetakse käsurea argumentideks (command-line arguments, program arguments). Näiteks järgnevas näites on argumentideks "Aasta", "on" ja "2017".
java Peaklass Aasta on 2017
Argumentide massiivile määratakse nimi peaklassi peameetodi päises (antud juhul args
)
public static void main(String[] args) {
Järgnevas vaatleme, kuidas neid argumente saab määrata programmeerimiskeskkondades.
IntelliJ
Enne argumentide määramist on mõistlik programm korra seadistamata käima panna (selle käigus määratakse käivitusseadetes (run configuration) peaklass). Seejärel valige Run-menüüst Edit Configurations. Õige koht on Program arguments.
Eclipse
Kui kasutame Eclipse-it, siis saame käsurea argumente anda valides Run-menüüst Run Configurations... --> (x)=Arguments
ja sisestades argumendid kasti Program arguments
.
Kasulike hoiatuste lisamine
Toortüübi (Raw type) hoiatus
Geneerilistel tüüpidel on tüübiparameetrid, mis märgitakse noolsulgude (< >
) vahele. Kui tüüp on märkimata, siis Java kasutab tüübina java.lang.Object. See on peaaegu alati vale. Isegi kui tahetakse tüübina Object kasutada, oleks hea see eraldi välja kirjutada. Seadistage oma IDE hoiatusi näitama, kui geneeriline tüüp on jäänud määramata!
IntelliJ
Avage File-menüüst Other settings ja sealt Default settings. Muutke Editor -> Inspections
aknas Raw use of parametrized class jaoks severity väärtuseks Error (inspection peab olema ka valitud). (Vt. pilt allpool.)
Eclipse
Avag seaded ja lülitage sisse hoiatus (Window => Preferences => Java => Compiler => Errors/Warnings => Annotations => Usage of raw type
). Kui määrate selleks seadeks Warning või Error, siis annab IDE märku, kui kusagil tüübid ära on jäänud. (Vt. pilt allpool.)
Annotatsiooni Override kontroll
Arenduskeskkonda on võimalik seadistada hoiatust näitama, kui kuskil on @Override
annotatsioon puudu. Annotatsiooni lisamine on väga lihtne ja võib aidata säästa oluliselt aega vigade otsimisel.
IntelliJ
Avage File-menüüst Other settings ja sealt Default settings. Muutke Editor -> Inspections
aknas Missing @Override annotation jaoks severity väärtuseks Error (inspection peab olema ka valitud).
Eclipse
Avage seaded ja lülitage sisse hoiatus (Window => Preferences => Java => Compiler => Errors/Warnings => Annotations => Missing '@Override' annotation
). Kui määrate selleks seadeks Warning või Error, siis annab IDE märku, kui kusagil annotatsioon on ära unustatud.
Kodeering
IntelliJ (ning tõenäoliselt ka Linux-i ja Mac-i Eclipse) tekitavadki Java failid vaikimisi UTF-8 kodeeringus. Probleemiks on Windowsi Eclipse, mis kasutab vaikimisi süsteemi kodeeringut (mis võib eri arvutites olla erinev).
Eclipse
Õige kodeeringu fikseerimiseks tuleks Eclipse'is nüüd ja edaspidi uue projekti loomisel enne koodi kirjutamist teha projekti nimel paremklõps, valida Properties => Resource
ning määrata Text file encoding
seade väärtuseks UTF-8. (Kui projektis on juba täpitähtedega faile, siis tuleks need üle vaadata ja kodeeringu muutmisest tekkinud krõnksud ära parandada.)
Kuna projekti kodeeringu määramine võib mõnikord ära ununeda, siis lisaks (või selle asemel) on soovitatav määrata ka Eclipse'i töökataloogis (workspace) vaikekodeering (Window => Preferences => General => Workspace
). Paraku võib selle tulemusena saada palju krõnkse juba varem loodud Java failidesse. Lahendus on fikseerida enne töökataloogi seade muutmist olemasolevate projektide kodeeringud nii nagu nad vaikimisi on (nt. Cp1257). Töökataloogi seade rakendub vaid neile projektidele, millel pole kodeeringut fikseeritud.
IntelliJ
IntelliJ näitab avatud faili kodeeringut all paremal nurgas. Seal peaks olema Java failide puhul UTF-8. Kodeeringu nimele klõpsates saab avatud faili kodeeringut muuta. Vaikimisi kodeeringu muutmiseks võtke File-menüüst Other settings ja sealt Default settings. Valige Editor -> File Encodings
ja muutke kõik UTF-8 peale.