pühapäev, 11. oktoober 2015

Java - Põhitõed - Andmetüübid

Java kasutab kahte tüüpi andmetüüpe - algelised andmetüübid (Primitive Data Types) ja viiteline andmetüübid (Reference/Object Data Types).

Mis on algeline andmetüüp?

Algeline andmetüüp on andmetüüp, mis on java keeles eelnevalt ära defineeritud ning mille kasutamiseks on vaja kasutada võtmesõnasid. Java keeles on neid kaheksa:

byte
8-bitine täisarv, mille miinimumväärtus on -128 (-2^7) ja maksimumarv 127 (2^7-1). Kasutatakse seal, kus vaja säästa mälu, sest selle mäluvajadus on 4 korda väiksem kui int'il. Vaikeväärtus on 0.

short
16-bitine täisarv, mille miinimumväärtus on -2^15 ja maksimumväärtus 2^15-1. Kasutatakse seal, kus on vaja suuremaid arve kui byte võimaldab, kuid samuti on vaja säästa mälu, sest selle mäluvajadus on kaks korda väiksem kui int'il. Vaikeväärtus on 0.

int
32-bitine täisarv, mille miinimumväärtus on -2^31 ja maksimumväärtus 2^31-1. Vaikeväärtus on 0.

long
64-bitine täisarv, mille miinimumväärtus on -2^63 ja maksimumväärtus 2^63-1. Vaikeväärtus on 0l.

float
32-bitine standardarv. Kasutatakse seal, kus on vaja komakohaga arvu, kuid vajatakse väikest mälunõudlust. Võrreldes double'ga on selle täpsus väiksem ning ei ole soovitatav kasutada ülitäpsete väärtuste hoidmiseks. Vaikeväärtus on 0.0f.

double
64-bitine standardarv. Kasutatakse seal, kus on vaja komakohaga arvu ning suuremat täpsust kui float'iga. Vaikeväärtus on 0.0d.

boolean
1-bitine andmetüüp, millel on kaks võimalikku väärtust - true või false. Vaikeväärtus on false.

char
16-bitine Unicode karakter. Miinimumväärtus on '\u0000' ehk null ja maksimumväärtus '\uffff' ehk 65 535. Vaikeväärtus on null ehk '\u0000'.

Mis on viiteline andmetüüp?

Viiteline andmetüüp on andmetüüp, mida saab defineerida kasutades class'ide konstruktoreid ning selle vaikeväärtus on null.

Ettevalmistused

Ettevalmistused

Selleks, et kirjutada Java koodi, on esiteks vaja midagi milles seda kirjutada, ehk on vaja IDE'd (Integrated Development Environment), tuntumad nendest on Eclipse, NetBeans ja IntelliJ, siin kasutan mina Eclipse'i (Mars). Peale seda on loomulikult vaja ka JDK'd (sisaldab ka JRE'd ehk Java Runtime Environment'i, mille alla kuulub ka JVM). Kui need on installitud, on vaja veel ainult IDE üles seada, mis võtab mõne minuti.

Edasi jääb vaid IDE üles seada. See on õnneks suuremal osal IDE'del sarnane. Peale selle avamist küsitakse kuhu oma workspace kausta tahate paigutada (mitte kõigil). Workspace kaust on kaust, kuhu lähevad kõik loodud projektid, kui pole teisiti seadistatud. Peale seda oled sa valmis, et kirjutada koodi.

Mis on Java ja miks seda kasutada?

Mis on Java ja miks seda kasutada?


Mis on Java?

Java on programmeerimiskeel, mida kasutatakse igal pool. Selleks, et käivitada Java programme, on vaja JVM'i ehk Java Virtual Machine'i, kuid selleks et java koodist programm saada, on vaja JDK'd ehk Java Development Kit'i, mis on kogumik tööriistadest. Sellesse kuuluvad näiteks koodi kompilleerija (Compiler), mis muudab java koodi bytecode'ks, ehk koodiks, mille abil JVM arvutile käske jagab. 
Veelgi detailsemalt on Java kesktasemel interpreteeritud keel. 
Alloleval pildil on näha mis on tuntumad keeled ning mis tasemel nad on. Aga mida tähendab see, kui Java on kesktasemel keel ning mida need tasemed üldse tähendavad?
Programmeerimiskeeled on jaotatud (kaudselt) kolme rühma - madaltaseme, kesktaseme ja kõrgtaseme keeled. Mida madalam on keele tase, seda vähem on seal sisseehitatud funktsioone (näiteks prügikoguja ehk garbage collector ehk GC) ja on seepärast ka kiiremad ning neil on ka suurem otsene ligipääs arvuti mälule. Kõrgtaseme keeltel on aga tavaliselt olemas tõlgendaja (interpreter), mis aitab antud keeles olevat koodi arvutile selgeks teha, kuid on seepärast aeglasemad, kuid töötavad paremini erinevatel platvormidel.
Nagu joonisel näha, on Java seal keskel. Mina arvan, et see on seepärast, et Java'l on üks funktsioonidest ka JNI ehk Java Native Interface, mille abil saab madalama taseme koodi kasutada ka Java's.

Language Spectrum of Science

Mida saab Java'ga teha?

Java'ga saab teha väga palju ning seda on võimalik kasutada igas valdkonnas, näiteks kasutatakse seda serverites, mobiilirakendustes, arvutimängudes jne. Siin kavatsen ma peale alusteadmiste õpetamist õpetada ka kasutajaliideste loomist, Android'i rakenduste tegemist ning hiljem ka mängude kirjutamist (nii arvutitele kui ka Android'i nutitelefonidele). 

Miks kasutada Java't?

Kuna Java kasutab JVM'i, töötab see igal platvormil, kus see olemas on ning seepärast on ka nende sloganiks "Write once, run everywhere". Lisaks sellele on Java'l palju funktsioone, nagu eelmainitud prügikoguja, mis kogub kokku info, mis pole prügikogujaga ühenduses, ning vabastab nende all oleva mälu.

enter image description here



Sissejuhatus

Sissejuhatus

Teretulemast siia blogisse, kus ma (Ragnar Laud) kirjutan õpetusi programmeerimise kohta. Kavatsen siia postitada iga kahe päeva tagant ning alustan lihtsamate asjadega selleks, et ka algajad saaksid siit alustada. Alustuseks õpetan ma Java programmeerimiskeelt, kuid peale seda on plaanis ka õpetada teisi keeli, näiteks Python, PHP jms. Loodan et leiate siit endale midagi sobivat.