Java-s on 8 pri­mi­tiiv­set and­me­tüüpi, millel on kõik kindel suurus ja mää­rat­le­tud väärtuste vahemik. Neid ka­su­ta­takse muutujate loomiseks ja neile in­di­vi­duaal­sete numbrite, tähtede või loo­gi­liste väärtuste omis­ta­miseks. 8 Java pri­mi­tiiv­set tüüpi on boolean, byte, char, double, float, int, long ja short.

Mis on Java pri­mi­tiiv­sed tüübid?

Nagu teised prog­ram­mee­ri­mis­kee­led, on ka Javal erinevad and­me­tüü­bid. Java-s jagunevad need kahte ka­te­goo­riasse. Esimene on vii­te­tüü­bid, mis viitavad vabalt mää­rat­le­ta­vale objektile, nagu stringid, massiivid, klassid ja liidesed. Siis on veel Java pri­mi­tii­vid. Neil on kindel suurus, mis on kõikidel plat­vormi­del sama. Neil on ka oma wrapper-klass, nad on muu­tu­ma­tud ja neil on kindel väärtuste vahemik. Java pri­mi­tiive ka­su­ta­takse muutujate loomiseks üksikute numbrite, tähtede või loo­gi­liste väärtuste jaoks.

Java-keeles on 8 erinevat pri­mi­tiiv­set and­me­tüüpi, mis erinevad peamiselt selle poolest, milliseid väärtusi nad sal­ves­ta­vad. Neile kõigile on ühine see, et nad saavad sal­ves­tada ainult ühe väärtuse. Kuna mõnda neist ka­su­ta­takse sarnastes olu­kor­da­des, saame Java pri­mi­tii­vid jagada nelja ka­te­goo­riasse:

  • Loogiline andmetüüp (boolean)
  • In­teg­raalne andmetüüp (byte, short, int ja long)
  • Uju­ko­ma­ar­vu­line andmetüüp (float ja double)
  • Tähemärgi andmetüüp (char)

Kuna need sal­ves­ta­takse otse pinu, on nende suurus eriti oluline. Seda teemat kä­sit­le­takse käes­ole­vas juhendis edaspidi. Java pri­mi­tiiv­sed tüübid on olulised ka seetõttu, et Java on staa­ti­li­selt tüübitav keel. Seega peate programmi loomisel juba eelnevalt mää­rat­lema muutuja and­me­tüübi, vastasel juhul tekivad veateated. Siin on ülevaade Java pri­mi­tiiv­se­test tüüpidest:

Andmetüüp Suurus Väärtuste vahemik Vaikimisi väärtus Wrapper-klass
boolean 1 bit true või false false java.lang.Boolean
bait 8 bitti -128 kuni 127 0 java.lang.Byte
lühike 16 bitti -32768 kuni 32767 0 java.lang.Short
int 32 bitti -2147483648 kuni 2147483647 0 java.lang.Integer
pikk 64 bitti -9223372036854775808 kuni 9223372036854775807 0 java.lang.Long
float 32 bitti kuni 7 küm­nend­kohta 0,0 java.lang.Float
double 64 bitti kuni 16 küm­nend­kohta 0,0 java.lang.Double
char 16 bitti **’\u0000’ (st 0) kuni ‘\uffff’ (vastab 65535) ‘\u0000’ java.lang.Character

Kuidas kasutada Java pri­mi­tiiv­set boole’i tüüpi

Java Boolean on tuntud ka kui tõe­väär­tus. See on kõige lihtsam Java primitiiv, kuna sellel on ainult kaks või­ma­likku väärtust: „true” või „false”. Seda ka­su­ta­takse, kui on vaja loogilist operandi, ja see on ainus loogiline andmetüüp. Väl­jen­di­tes tä­his­ta­vad selle kaks või­ma­likku väärtust ta­va­li­selt tingimust, mis on kas täidetud (true) või mitte (false). Kui Boo­lea­nile ei määra väärtust, on selle vaikimisi väärtus false. Booleani saab Java-s kom­bi­nee­rida Booleani ope­raa­to­ri­tega, nagu AND ja OR. Boo­lea­nile väärtuse määramine näeb välja järgmine:

public class Main {
	public static void main(String[] args) {
		boolean x = true;
		System.out.println(x);
	}
}
java

Kui kasutate Java-käsku System.out.prinln väljundi al­ga­ta­miseks, näeb väljund välja järgmine:

true
java

bait

Bait on täis­ar­vude and­me­tüü­pide seas väikseim andmetüüp. Selle väärtuste vahemik on väga piiratud, nimelt -128 kuni 127. Kuid see kasutab ainult 8 bitti mälu. Te­ge­li­kult on see saanud oma nime asjaolust, et 8 bitti moo­dus­ta­vad ühe baidi. Kui töötate ainult väga piiratud väärtuste va­he­mi­kuga, võite baidi dek­la­ree­rida järg­mi­selt:

public class Main {
	public static void main(String[] args) {
		byte x = 101;
		System.out.println(x);
	}
}
java

Väljund näeb välja järgmine:

101
java

lühike

short on kaks korda suurem kui byte, mis tähendab, et see on ka üks harvem ka­su­ta­ta­va­test Java pri­mi­tii­vi­dest. Aga kui byte on liiga väike ja int liiga suur, võib short olla just see täis­ar­vu­tüüp, mida otsite. Siin on, kuidas seda dek­la­ree­rida:

public class Main {
	public static void main(String[] args) {
		short x = -27412;
		System.out.println(x);
	}
}
java

Väljund näeb välja järgmine:

-27412
java

int

int on täis­ar­vude and­me­tüü­pi­dest kõige sa­ge­da­mini kasutatav. Sellel on väga suur väärtuste vahemik ja see säästab ruumi. int on ka­he­komp­le­men­taarne väärtus ja seda ka­su­ta­takse sageli ka muudel ees­mär­ki­del. Siin on selle ka­su­ta­mise juhised:

public class Main {
	public static void main(String[] args) {
		int x = 14;
		int y = 3;
		int z = x + y;
		System.out.println(x + " + " + y + " = " + z);
	}
}
java

Väljund näeb välja järgmine:

14 + 3 = 17
java

pikk

long on int laiendus ja võib sisaldada veelgi pikemaid numbreid. int on enamikel juhtudel piisav, kuid kui soovite dek­la­ree­rida long, saate seda teha järg­mi­selt:

public class Main {
	public static void main(String[] args) {
		long x = 47;
		System.out.println(x);
	}
}
java

Siin on väljund:

47
java

ujuv

Rat­sio­naal­ar­vude alamhulki esin­da­miseks on olemas kaks Java pri­mi­tiivi. float on kahest uju­ko­ma­ar­vu­tüü­bist väiksem ja kasutab 32 bitti. See suudab kuvada kuni 7 küm­nend­kohta. Siiski ei ole see väga täpne ja seetõttu ei kasutata seda väga tihti. Kui otsustate seda siiski kasutada, võite selle dek­la­ree­rida järg­mi­selt:

public class Main {
	public static void main(String[] args) {
		float x = 7.22f;
		System.out.println(x);
	}
}
java

Pange tähele, et numbri järele tuleb lisada väike või suur täht „f”, et arvutile märkida, et tegemist on uju­ko­ma­ar­vuga, mitte to­pelt­ar­vuga. Täht f ei kuvata väljundis:

7.22
java

kaks

Teine uju­ko­ma­ar­vu­line andmetüüp on double. See on oluliselt täpsem kui float, kuid ei anna siiski täiesti täpseid tulemusi. Kui otsite al­ter­na­tiivi, võite pöörduda klassi Big­Deci­mal poole. Kui double sobib teie ees­mär­ki­dele, siis siin on, kuidas seda dek­la­ree­rida:

public class Main {
	public static void main(String[] args) {
		double x = 7.2252;
		System.out.println(x);
	}
}
java

Pange tähele, et siin pole ühtegi lisatähte. Väljund näeb välja järgmine:

7.2252
java

süsi

char ka­su­ta­takse Unicode-märkide esi­ta­miseks. See ulatub ‘\u0000’ kuni ‘\uffff’, seega 0 kuni 65535. Mär­gi­and­me­tüüp suudab esitada peaaegu kõiki Euroopa ja Aasia märke. See kasutab 16 bitti mälu. Selle Java pri­mi­tiivi väärtused on esitatud ühe­kord­sete ju­tu­mär­kide vahel. Siin on näide, kuidas see koodis välja näeb:

public class Main {
	public static void main(String[] args) {
		char x = '&';
		System.out.println(x);
	}
}
java

Väljund näeb välja järgmine:

&
java
Go to Main Menu