Java ponuja osem pri­mi­tiv­nih po­dat­kov­nih tipov in številne kom­ple­ksne po­dat­kov­ne tipe. Ti določajo, katere vrednosti se lahko shranijo in prikažejo v spre­men­ljiv­ki. Vsi spre­men­ljiv­ki v Javi so dodeljeni določeni po­dat­kov­ni tipi.

Kakšni tipi podatkov obstajajo v Javi?

V vsakem pro­gram­skem jeziku obstajajo različni po­dat­kov­ni tipi, ki vsebujejo spe­ci­fič­ne objekte in de­fi­ni­ra­ne operacije. Čeprav so možnosti po­dat­kov­nih tipov, ki jih ponujajo različni jeziki, pogosto podobne, obstajajo včasih tudi pomembne razlike. Če na primer pri­mer­ja­te Python in Java ter njune po­dat­kov­ne tipe, boste opazili po­dob­no­sti med njima, pa tudi številne razlike, zaradi katerih sta jezika primerna za različne vrste nalog.

Java uporablja dve različni vrsti po­dat­kov­nih tipov: pri­mi­tiv­ne in kom­ple­ksne. Kom­ple­ksni po­dat­kov­ni tipi se imenujejo tudi re­fe­renč­ni tipi. Pri­mi­tiv­ni in kom­ple­ksni po­dat­kov­ni tipi se raz­li­ku­je­jo po velikosti in določajo, katere vrednosti se lahko shranijo v spre­men­ljiv­ki. Medtem ko pri­mi­tiv­ni po­dat­kov­ni tipi lahko shra­nju­je­jo le preproste vrednosti, se re­fe­renč­ni tipi upo­ra­blja­jo za ustvar­ja­nje bolj kom­ple­ksnih struktur ter or­ga­ni­zi­ra­nje in ma­ni­pu­la­ci­jo velikih količin podatkov.

Če se želite naučiti pro­gra­mi­ra­ti, je pomembno, da poznate ne le različne tipe podatkov, ampak tudi to, kako iz vsakega izmed njih izvleči največ. Ra­zu­me­va­nje, kako najbolje uporabiti tipe podatkov, ni le vprašanje ra­zu­me­va­nja njihove funk­ci­o­nal­no­sti, ampak tudi tega, koliko po­mnil­ni­ka porabijo (ali pri­hra­ni­jo).

Kaj so pri­mi­tiv­ni po­dat­kov­ni tipi v Javi?

V Javi obstaja skupno osem različnih pri­mi­tiv­nih po­dat­kov­nih tipov, ki vsebujejo strogo določena vre­dno­stna območja. Razdelimo jih lahko v štiri ka­te­go­ri­je: logični po­dat­kov­ni tipi, in­te­gral­ni po­dat­kov­ni tipi, po­dat­kov­ni tipi s plavajočo vejico in znakovni po­dat­kov­ni tipi. Nimajo dodatnih posebnih zmo­glji­vo­sti in se imenujejo tudi osnovni po­dat­kov­ni tipi. Vsak po­dat­kov­ni tip ima fiksno število bitov. Pri­mi­tiv­ne po­dat­kov­ne tipe bomo po­drob­ne­je obrav­na­va­li v na­da­lje­va­nju. Java uporablja naslednje primitive tipe:

  • boolean
  • bajt
  • kratka
  • int ali celo število
  • dolgo
  • float
  • dvojno
  • char

boolean

Boolean po­dat­kov­ni tipv Javi ni numerični tip. Ponuja le dve možni vrednosti: true in false. Uporablja se za določanje, ali pogoj velja (true) ali ne (false). Je logični po­dat­kov­ni tip, njegova privzeta vrednost pa je false. Se­sta­vljen je iz 1 bita in ima naslednjo sintakso:

boolean booleanVar;
java

byte

byte je in­te­gral­ni po­dat­kov­ni tip, pred­sta­vljen kot vrednost dopolnila do dveh z ve­li­ko­stjo 8 bitov ali 1 bajt. Običajno se uporablja za var­če­va­nje s po­mnil­ni­kom v večjih nizih. Njegov razpon vrednosti sega od -128 do 127, privzeta vrednost pa je 0. Tukaj je njegova sintaksa:

byte byteVar;
java

short

short je tudi eden od in­te­gral­nih po­dat­kov­nih tipov v Javi in se uporablja predvsem za var­če­va­nje s po­mnil­ni­kom v večjih nizih. Vrednost dopolnila dveh je 16 bitov ali 2 bajta, njen vre­dno­stni razpon pa sega od -32768 do vključno 32767. Privzeto je njena vrednost 0. Tako se uporablja short:

short shortVar
java

int ali celo število

int ali celo število je tudi vrednost dopolnila do dveh in in­te­gral­ni po­dat­kov­ni tip z ve­li­ko­stjo 4 bajtov ali 32 bitov. Njegov vre­dno­stni razpon vključuje cela števila med -2147483648 in 2147483647, njegova privzeta vrednost pa je 0. Njegova sintaksa je naslednja:

int intVar
java

long

Največji in­te­gral­ni po­dat­kov­ni tip je long. To velja najprej za njegov vre­dno­stni razpon, ki je med -9223372036854775808 in 9223372036854775807, in nato za njegovo velikost, ki je 8 bajtov ali 64 bitov. Dvojiški do­pol­nil­ni vrednosti se zato uporablja, če drugi ce­lo­šte­vilč­ni po­dat­kov­ni tipi niso zadostni. Vendar pa zahteva tudi daleč največ po­mnil­ni­ka. Njena privzeta vrednost je 0. To je njena sintaksa:

lomg longVar
java

float

float je po­dat­kov­ni tip s plavajočo vejico in se uporablja za shra­nje­va­nje realnih števil. Ima velikost 32 bitov in je skladen s stan­dar­dom IEEE 754, ki opre­de­lju­je stan­dar­dno pred­sta­vi­tev binarnih in de­ci­mal­nih števil s plavajočo vejico v ra­ču­nal­ni­kih. Stan­dar­dna vrednost float je 0,0, v njenem vre­dno­stnem območju pa je mogoče pred­sta­vi­ti do sedem de­ci­mal­nih mest. V pri­mer­ja­vi z double pa float ni tako natančen in ga zato ne smemo upo­ra­blja­ti za vrednosti, pri katerih je na­tanč­nost od­lo­čil­ne­ga pomena. Če pa to ni primer, lahko float uporabimo za prihranek prostora. Sintaksa za float je naslednja:

float floatVar;
java

double

double je približno dvakrat na­tanč­nej­ši od float in ima podoben namen. Je velik 64 bitov in lahko pred­sta­vlja do 16 de­ci­mal­nih mest. Njegova privzeta vrednost je prav tako 0,0. Če po­tre­bu­je­te na­tanč­nej­še vrednosti, morate vedno uporabiti double, čeprav tudi ta po­dat­kov­ni tip ni tako natančen. Če želite delati z absolutno na­tanč­ni­mi vre­dnost­mi, morate namesto tega uporabiti razred Big­De­ci­mal. Sintaksa double je naslednja:

double doubleVar;
java

char

char je tip podatkov znakov. Shranjuje znake na podlagi znakovne kode Unicode, kar omogoča pre­no­slji­vost na številne različne platforme. Vsak znak zahteva 2 bajta po­mnil­ni­ka. Njegov vre­dno­stni razpon ustreza ASCII (American Standard Code for In­for­ma­ti­on In­ter­chan­ge) in se nahaja med ‘\u0000’ (tj. 0) in ‘\uffff’ (ustreza 65535). Privzeta vrednost char je „\u0000“, njegova sintaksa pa je naslednja:

char charVar
java

Kaj so kom­ple­ksni po­dat­kov­ni tipi v Javi?

Drugi tip po­dat­kov­nih tipov v Javi so re­fe­renč­ni tipi, imenovani tudi kom­ple­ksni po­dat­kov­ni tipi. Imenujejo se re­fe­renč­ni tipi, ker se nanašajo na objekte. V nasprotju s pri­mi­tiv­ni­mi po­dat­kov­ni­mi tipi običajno niso vnaprej določeni, ampak jih določi programer (izjema je niz). Lahko upo­ra­blja­jo metode in imajo lahko tudi vrednost 0 (v smislu prazno). Medtem ko se pri­mi­tiv­ni po­dat­kov­ni tipi začnejo z malo začetnico, se re­fe­renč­ni tipi začnejo z veliko začetnico. Tukaj si bomo ogledali naj­po­memb­nej­še re­fe­renč­ne tipe.

Nize

String je razred, ki se lahko uporablja za pred­sta­vi­tev zaporedja znakov, kar ta kom­ple­ksni po­dat­kov­ni tip ločuje od pri­mi­tiv­ne­ga po­dat­kov­ne­ga tipa char in drugih po­dat­kov­nih tipov. Niz obstaja kot objekt v razredu java.lang. Različne metode razreda String omogočajo pre­gle­do­va­nje po­sa­me­znih znakov v nizu, pri­mer­ja­nje nizov med seboj, iskanje nizov in kopiranje nizov. Nizi so označeni z na­re­ko­va­ji. Sintaksa tega re­fe­renč­ne­ga tipa je naslednja:

<string_type> <string_variable> = "<string_sequence>";
java

Tukaj je primer, kako delujejo nizi:

// How to create a string without a new operator
String a = "This is your new string";
/ / How to create a string with a new operator
String a1 = new string ("This is your new string");
java

Nizi

Nizi se upo­ra­blja­jo za shra­nje­va­nje več vrednosti v spre­men­ljiv­ki, namesto da bi za vsako posamezno vrednost ustvarili različne spre­men­ljiv­ke. Ustvarijo se z uporabo oglatih oklepajev. Shranjene vrednosti se postavijo v oklepaje in ločijo z vejicami. Tukaj je sintaksa za nize:

dataType[] arrayName = {value1, value2, value3,…};
java

Če želite ustvariti niz z nizi, lahko to storite na naslednji način:

String[] colors = {"blue", "red", "yellow", "purple"};
java

Tako ustvarite niz s celimi števili:

int[] figures = {5, 10, 15, 20};
java

Razredi

V Javi so razredi po­dat­kov­ni tipi, ki služijo kot predloga za ustvar­ja­nje objektov. Vsebujejo različne kom­po­nen­te, vključno z imenom razreda, mo­di­fi­ka­tor­ji in telesom, zaprtim v oklepajih. Tukaj je primer, kako izgleda razred v Javi:

public class Main {
	int a = 10;
}
java

Vmesniki

V Javi je vmesnik ab­strak­ten razred. Deluje kot vmesnik, prek katerega lahko razred dostopa do različnih funkcij. Da bi to lahko storil, pa jih mora najprej im­ple­men­ti­ra­ti. Vmesniki vsebujejo samo konstante in abstrakte metode. Njihova sintaksa je naslednja:

interface {
	abstract methods
}
java

Tukaj bomo na pre­pro­stem primeru pokazali, kako delujejo vmesniki:

interface Pizza {
	public void ingredientsList();
	public void preparation();
}
class Mushroom implements Pizza {
	public void ingredientsList() {
		System.out.println("mushrooms, tomato sauce, oregano, mozzarella");
}
public void preparation() {
	System.out.println("The pizza will be ready in 15 minutes.");
}
}
class Main {
	public static void main(String[] args) {
		Mushroom myMushroom = new Mushroom();
		myMushroom.ingredientsList();
		myMushroom.preparation();
	}
}
java

Ustrezni izpis iz ukaza Java System.out.println je naslednji:

mushrooms, tomato sauce, oregano, mozzarella
The pizza will be ready in 15 minutes.
java

Predmeti

V Javi so objekti prav tako kom­ple­ksni po­dat­kov­ni tipi. Objekti so primeri razredov, ki lahko med seboj ko­mu­ni­ci­ra­jo z uporabo metod. V na­sle­dnjem primeru bomo ustvarili več objektov v razredu Main:

public class Main {
	int a = 10;
public static void main(String[] args) {
	Main myObj1 = new Main();
	Main myObj2 = new Main();
	System.out.println(myObj1.a);
	System.out.println(myObj2.a);
	}
}
java

Izhod je videti takole:

10
10
java

Enumi

Enumi so posebna razreda, ki vam omogočajo vklju­či­tev ne­spre­men­lji­vih konstant v vaš kod. Tem spre­men­ljiv­kam so dodeljene fiksne vrednosti, ki jih ni mogoče spre­me­ni­ti. Ta po­dat­kov­ni tip je še posebej uporaben, če po­tre­bu­je­te spre­men­ljiv­ke, ki imajo le nekaj možnih stanj. Sintaksa enuma je naslednja:

enum NameOfTheClass {
	VALUE1,
	VALUE2,
	VALUE3
}
java
Go to Main Menu