V Javi obstaja 8 pri­mi­tiv­nih po­dat­kov­nih tipov, ki imajo vsi fiksno velikost in določen razpon vrednosti. Upo­ra­blja­jo se za ustvar­ja­nje spre­men­ljivk in do­de­lje­va­nje po­sa­me­znih številk, znakov ali logičnih vrednosti. 8 pri­mi­tiv­nih tipov v Javi so boolean, byte, char, double, float, int, long in short.

Kaj so Java pri­mi­tiv­ni tipi?

Tako kot drugi pro­gram­ski jeziki ima tudi Java različne po­dat­kov­ne tipe. V Javi se ti delijo v dve ka­te­go­ri­ji. Prva so re­fe­renč­ni tipi, ki se nanašajo na objekt, ki ga je mogoče prosto de­fi­ni­ra­ti, kot so nizi, matrike, razredi in vmesniki. Nato so tu še Java pri­mi­tiv­ni tipi. Ti imajo fiksno velikost, ki je enaka na vseh plat­for­mah. Imajo tudi svojo lastno razredno ovojnico, so ne­spre­men­lji­vi in imajo fiksno območje vrednosti. Java pri­mi­tiv­ni tipi se upo­ra­blja­jo za ustvar­ja­nje spre­men­ljivk za posamezne številke, znake ali logične vrednosti.

V Javi obstaja 8 različnih pri­mi­tiv­nih po­dat­kov­nih tipov, ki se raz­li­ku­je­jo predvsem v smislu vrednosti, ki jih shra­nju­je­jo. Vsi imajo skupno to, da lahko shranijo le eno samo vrednost. Ker se nekateri med njimi upo­ra­blja­jo v podobnih si­tu­a­ci­jah, lahko pri­mi­tiv­ne tipe v Javi nadalje razdelimo v štiri ka­te­go­ri­je:

  • Logični po­dat­kov­ni tip (boolean)
  • Celotni po­dat­kov­ni tip (byte, short, int in long)
  • Tip podatkov s plavajočo vejico (float in double)
  • Znakovni po­dat­kov­ni tip (char)

Ker so shranjeni ne­po­sre­dno v skladu, je njihova velikost posebej pomembna. O tem bomo po­drob­ne­je govorili v na­da­lje­va­nju tega vodnika. Pri­mi­tiv­ni tipi v Javi so pomembni tudi zato, ker je Java statično tipiziran jezik. Ko ustvar­ja­te program, morate že vnaprej določiti, kateri po­dat­kov­ni tip je spre­men­ljiv­ka, sicer boste naleteli na napake. Tukaj je pregled pri­mi­tiv­nih tipov v Javi:

Vrsta podatkov Velikost Vre­dno­stno območje Privzeta vrednost Ovojna razred
boolean 1 bit true ali false false java.lang.Boolean
bajt 8 bitov -128 do 127 0 java.lang.Byte
kratek 16 bitov -32768 do 32767 0 java.lang.Short
int 32 bitov -2147483648 do 2147483647 0 java.lang.Integer
dolgo 64 bitov -9223372036854775808 do 9223372036854775807 0 java.lang.Long
float 32 bitov do 7 de­ci­mal­nih mest 0,0 java.lang.Float
dvojno 64 bitov do 16 de­ci­mal­nih mest 0,0 java.lang.Double
char 16 bitov **’\u0000’ (tj. 0) do ‘\uffff’ (ustreza 65535) ‘\u0000’ java.lang.Character

Kako upo­ra­blja­ti pri­mi­tiv­ni boolean v Javi

Java Boolean je znan tudi kot vrednost resnice. Je naj­pre­pro­stej­ši Java primitiv, saj ima le dve možni vrednosti: »true« ali »false«. Uporablja se, ko je potreben logični operand, in je edini logični po­dat­kov­ni tip. V izrazih njegovi dve možni vrednosti običajno pred­sta­vlja­ta pogoj, ki je izpolnjen (true) ali ne­iz­pol­njen (false). Če Boolean ne dodelite vrednosti, bo imel privzeto vrednost false. Boolean se lahko kombinira z Boolean ope­ra­ter­ji v Javi, kot sta AND in OR. Dodelitev vrednosti Boolean je naslednja:

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

Če za ini­ci­a­li­za­ci­jo izhoda uporabite ukaz Java System.out.prinln, bo izhod izgledal takole:

true
java

bajt

byte je najmanjši po­dat­kov­ni tip med ce­lo­šte­vilč­ni­mi po­dat­kov­ni­mi tipi. Ima zelo omejen razpon vrednosti, in sicer od -128 do 127. Vendar uporablja le 8 bitov po­mnil­ni­ka. Ime je dobil po dejstvu, da 8 bitov tvori en byte. Če delate le z zelo omejenim razponom vrednosti, lahko byte de­kla­ri­ra­te takole:

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

Izhod je naslednji:

101
java

kratek

short je dvakrat večji od byte, kar pomeni, da je tudi eden od redkeje upo­ra­blja­nih pri­mi­tiv­nih tipov v Javi. Če pa je byte premajhen in int prevelik, je short morda ce­lo­šte­vilč­ni po­dat­kov­ni tip, ki ga iščete. Tako ga de­kla­ri­ra­te:

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

Izhod je videti takole:

-27412
java

int

int je naj­po­go­ste­je upo­ra­bljen tip ce­lo­šte­vilč­nih podatkov. Ima zelo velik razpon vrednosti in hkrati varčuje s prostorom. int je vrednost z dodatkom dveh in se pogosto uporablja tudi za druge namene. Tako ga upo­ra­blja­te:

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

Izhod je naslednji:

14 + 3 = 17
java

dolgo

long je raz­ši­ri­tev int in lahko vsebuje še daljša števila. int bo za­do­sto­val v večini primerov, če pa želite de­kla­ri­ra­ti long, lahko to storite na naslednji način:

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

Tukaj je izhod:

47
java

plavati

Obstajata dva Java pri­mi­tiv­na tipa za pred­sta­vi­tev podskupin ra­ci­o­nal­nih števil. float je manjši od dveh tipov podatkov s plavajočo vejico in uporablja 32 bitov. Prikazuje do 7 de­ci­mal­nih mest. Vendar ni zelo natančen, zato se ne uporablja pogosto. Če se odločite za njegovo uporabo, ga lahko de­kla­ri­ra­te na naslednji način:

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

Upo­šte­vaj­te, da morate za številko vnesti malo ali veliko črko „f“, da ra­ču­nal­ni­ku sporočite, da gre za float in ne double. Črka f se v izhodu ne prikaže:

7.22
java

dvojni

Drugi tip podatkov s plavajočo vejico je double. Je precej na­tanč­nej­ši od float, vendar še vedno ne daje popolnoma natančnih re­zul­ta­tov. Če iščete al­ter­na­ti­vo, lahko uporabite razred Big­De­ci­mal. Če je double primeren za vaše namene, ga lahko de­kla­ri­ra­te na naslednji način:

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

Upo­šte­vaj­te, da tu ni nobene dodatne črke. Izhod je naslednji:

7.2252
java

char

char se uporablja za pred­sta­vi­tev Unicode znakov. Segajo od ‘\u0000’ do ‘\uffff’, torej od 0 do 65535. Tip podatkov znakov lahko pred­sta­vlja skoraj vse evropske in azijske znake. Uporablja 16 bitov po­mnil­ni­ka. Vrednosti tega Java pri­mi­tiv­ne­ga tipa so zapisane v enojnih na­re­ko­va­jih. Tako izgleda v kodi:

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

Izhod je naslednji:

&
java
Go to Main Menu