Java piedāvā astoņus pri­mi­tī­vos datu tipus un daudzus sa­rež­ģī­tus datu tipus. Tie nosaka, kādas vērtības var tikt sa­gla­bā­tas un parādītas mainīgajā. Noteikti datu tipi tiek piešķirti visiem mai­nī­ga­jiem Java.

Kādi datu tipi ir Java?

Katrā prog­ram­mē­ša­nas valodā ir dažādi datu tipi, kas satur konkrētus objektus un definētas ope­rā­ci­jas. Lai gan dažādu valodu pie­dā­vā­tās datu tipu opcijas bieži vien ir līdzīgas, dažkārt pastāv arī būtiskas at­šķi­rī­bas. Piemēram, sa­lī­dzi­not Python un Java un to datu tipus, var pamanīt gan līdzības, gan arī daudzas at­šķi­rī­bas, kas padara šīs valodas pie­mē­ro­tas dažāda veida uz­de­vu­miem.

Java izmanto divu veidu datu tipus: pri­mi­tī­vos un sa­rež­ģī­tos. Sa­rež­ģī­tos datu tipus sauc arī par atsauces tipiem. Pri­mi­tī­vie un sa­rež­ģī­tie datu tipi atšķiras pēc to lieluma un nosaka, kādas vērtības var saglabāt mainīgajā. Kamēr pri­mi­tī­vie datu tipi var saglabāt tikai vien­kār­šas vērtības, atsauces tipus izmanto, lai izveidotu sa­rež­ģī­tā­kas struk­tū­ras un or­ga­ni­zē­tu un ap­strā­dā­tu lielus datu apjomus.

Ja vēlaties ie­mā­cī­ties prog­ram­mēt, ir svarīgi ne tikai zināt dažādos datu tipus, bet arī to, kā katru no tiem izmantot pēc iespējas efektīvāk. Lai saprastu, kā vislabāk izmantot datu tipus, ir ne tikai jāizprot to fun­kcio­na­li­tā­te, bet arī jāzina, cik daudz atmiņas tie izmanto (vai ietaupa).

Kas ir pri­mi­tī­vie datu tipi Java?

Java ir kopumā astoņi dažādi pri­mi­tī­vie datu tipi, kas satur stingri definētus vērtību dia­pa­zo­nus. Tos var iedalīt četrās ka­te­go­ri­jās: loģiskie datu tipi, in­teg­rā­lie datu tipi, peldošā punkta datu tipi un rakstzīm­ju datu tipi. Tiem nav papildu īpašas funkcijas, un tos sauc arī par ele­men­tā­ra­jiem datu tipiem. Katram datu tipam ir fiksēts bitu skaits. Tur­pi­nā­ju­mā sīkāk ap­ska­tī­sim pri­mi­tī­vos datu tipus. Java izmanto šādus pri­mi­tī­vos tipus:

  • boolean
  • bait
  • īss
  • int vai vesels skaitlis
  • garš
  • float
  • double
  • rakstzīme

boolean

Java boolea datu tips nav skait­lis­kais tips. Tas piedāvā tikai divas ie­spē­ja­mās vērtības: true un false. To var izmantot, lai noteiktu, vai no­sa­cī­jums ir spēkā (true) vai nav (false). Tas ir loģisks datu tips, un tā no­klu­sē­ju­ma vērtība ir false. Tas sastāv no 1 bita un tam ir šāda sintakse:

boolean booleanVar;
java

byte

byte ir integrāls datu tips, kas tiek attēlots kā divu pa­pil­di­nā­ju­ma vērtība ar izmēru 8 biti vai 1 baits. To parasti izmanto, lai ietaupītu atmiņu lielākās masīvās. Tā vērtību diapazons ir no -128 līdz 127, un tā no­klu­sē­ju­ma vērtība ir 0. Šeit ir tā sintakse:

byte byteVar;
java

short

short ir arī viens no in­teg­rā­la­jiem datu tipiem Java valodā un gal­ve­no­kārt tiek izmantots, lai ietaupītu atmiņu lielākās masīvās. Divu pa­pil­di­nā­ju­ma vērtība ir 16 biti vai 2 baiti, un tās vērtību diapazons ir no -32768 līdz 32767 ieskaitot. Pēc no­klu­sē­ju­ma tās vērtība ir 0. Tā tiek izmantota short:

short shortVar
java

int vai vesels skaitlis

int vai vesels skaitlis ir arī divu pa­pil­di­nā­ju­ma vērtība un integrāls datu tips ar izmēru 4 baiti vai 32 biti. Tā vērtību diapazons ietver veselos skaitļus no -2147483648 līdz 2147483647, un tā no­klu­sē­ju­ma vērtība ir 0. Tā sintakse ir šāda:

int intVar
java

long

Lielākais in­teg­rā­lais datu tips ir long. Tas attiecas, pirmkārt, uz tā vērtību diapazonu, kas ir no -9223372036854775808 līdz 9223372036854775807, un, otrkārt, uz tā paša izmēru, kas ir 8 baiti jeb 64 biti. Tādējādi divu pa­pil­di­nā­ju­ma vērtība tiek izmantota, ja citi in­teg­rā­lie datu tipi nav pie­tie­ka­mi. Tomēr tai ir ne­pie­cie­šams arī visvairāk atmiņas. Tās no­klu­sē­ju­ma vērtība ir 0. Šī ir tās sintakse:

lomg longVar
java

float

float ir peldošā punkta datu tips, ko izmanto reālu skaitļu uz­gla­bā­ša­nai. Tā izmērs ir 32 biti, un tas atbilst IEEE 754 stan­dar­tam, kas definē bināro un decimālo peldošā punkta skaitļu standarta at­tē­lo­ju­mu datoros. Standarta vērtība float ir 0,0, un tās vērtību diapazonā var attēlot līdz septiņām de­ci­māl­zī­mēm. Sa­lī­dzi­not ar double, float tomēr nav tik precīzs, tāpēc to ne­va­ja­dzē­tu izmantot vērtībām, kur precīzija ir izšķiroša. Ja tas tā nav, varat izmantot float, lai ietaupītu vietu. float sintakse ir šāda:

float floatVar;
java

double

double ir aptuveni divreiz precīzāks nekā float un pilda līdzīgu funkciju. Tā izmērs ir 64 biti, un tas var attēlot līdz 16 de­ci­māl­zī­mēm. Tā no­klu­sē­ju­ma vērtība arī ir 0,0. Ja jums ir ne­pie­cie­ša­mas pre­cī­zā­kas vērtības, vienmēr iz­man­to­jiet double, lai gan arī šis datu tips nav tik precīzs. Ja vēlaties strādāt ar absolūti precīzām vērtībām, jums vajadzētu izmantot BigDe­ci­mal klasi. double sintakse ir šāda:

double doubleVar;
java

char

char ir rakstzīm­ju datu tips. Tas uzglabā rakstzī­mes, pa­ma­to­jo­ties uz Unicode rakstzīm­ju kopu, no­dro­ši­not pār­ne­sa­mī­bu uz daudzām dažādām plat­for­mām. Katrai rakstzī­mei ne­pie­cie­ša­mi 2 baiti atmiņas. Tās vērtību diapazons atbilst ASCII (American Standard Code for In­for­ma­tion In­terchan­ge) un atrodas starp ‘\u0000’ (t.i., 0) un ‘\uffff’ (atbilst 65535). Char no­klu­sē­ju­ma vērtība ir ‘\u0000’, un tā sintakse izskatās šādi:

char charVar
java

Kas ir sarežģīti datu tipi Java?

Otrais datu tipu veids Java ir atsauces tipi, ko sauc arī par sa­rež­ģī­tiem datu tipiem. Tos sauc par atsauces tipiem, jo tie atsaucas uz objektiem. Atšķirībā no pri­mi­tī­va­jiem datu tipiem, tie parasti nav iepriekš definēti, bet tos nosaka prog­ram­mē­tājs (izņēmums ir string). Tie var izmantot metodes un var būt arī ar vērtību 0 (tukša nozīmē). Kamēr pri­mi­tī­vie datu tipi sākas ar mazo burtu, atsauces tipi sākas ar lielo burtu. Šeit mēs ap­ska­tī­sim sva­rī­gā­kos atsauces tipus.

Stīgas

String ir klase, ko var izmantot, lai attēlotu rakstzīm­ju secību, atšķirot šo sarežģīto datu tipu no primitīvā datu tipa char, kā arī citiem datu tipiem. String pastāv kā objekts java.lang klasē. String klases dažādās metodes ļauj pārbaudīt at­se­viš­ķas rakstzī­mes stringā, sa­lī­dzi­nāt stringus savā starpā, meklēt stringus un kopēt stringus. Stringi tiek iden­ti­fi­cē­ti ar pēdiņām. Šī atsauces tipa sintakse izskatās šādi:

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

Šeit ir piemērs, kā darbojas stīgas:

// 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

Masīvi

Masīvi tiek izmantoti, lai vienā mainīgajā uzglabātu vairākas vērtības, nevis izveidotu at­se­viš­ķus mainīgos katrai at­se­viš­ķai vērtībai. Tie tiek izveidoti, iz­man­to­jot kvad­rā­tie­ka­vas. Uz­gla­bā­tās vērtības tiek ie­vie­to­tas izliektās iekavās un atdalītas ar komatiem. Šeit ir masīvu sintakse:

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

Ja vēlaties izveidot masīvu ar virknēm, to var izdarīt šādi:

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

Šeit ir parādīts, kā izveidot masīvu ar veseliem skaitļiem:

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

No­dar­bī­bas

Java valodā klases ir datu tipi, kas kalpo kā veidnes objektu izveidei. Tās satur dažādus kom­po­nen­tus, tostarp klases nosaukumu, mo­di­fi­ka­to­rus un ķēdes zīmēs ietvertu ķermeni. Šeit ir piemērs, kā izskatās klase Java valodā:

public class Main {
	int a = 10;
}
java

Saskarnes

Java valodā in­ter­feiss ir abstrakts klases elements. Tas darbojas kā in­ter­feiss, caur kuru klase var piekļūt dažādām funkcijām. Tomēr, lai to izdarītu, vispirms ir jāievieš šīs funkcijas. In­ter­fei­si satur tikai kon­stan­tes un abs­trak­tas metodes. To sintakse izskatās šādi:

interface {
	abstract methods
}
java

Lai parādītu, kā darbojas saskarnes, iz­man­to­sim vienkāršu piemēru:

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

At­bil­sto­šais Java komandas System.out.println izvades rezultāts izskatās šādi:

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

Objekti

Java valodā objekti arī ir sarežģīts datu tips. Objekti ir klašu instancēm, kas var sav­star­pē­ji mi­jie­dar­bo­ties, iz­man­to­jot metodes. Turp­mā­ka­jā piemērā mēs iz­vei­do­sim vairākus objektus Main klasē:

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

Rezultāts izskatās šādi:

10
10
java

Enums

Enums ir īpaša klase, kas ļauj iekļaut ne­mai­nī­gas kon­stan­tes jūsu kodā. Šīm mai­nī­ga­jām tiek pie­šķir­tas fiksētas vērtības, kuras nevar mainīt. Šis datu tips ir īpaši noderīgs, ja jums ir ne­pie­cie­ša­mas mainīgās, kurām var būt tikai daži ie­spē­ja­mie stāvokļi. Enum sintakse izskatās šādi:

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