JAVA PAGRINDAI

Java duomenų tipai

Kiekvienas Java kintamasis deklaruojamas nurodant duomenų tipą. Tipas apibrėžia, kokias reikšmes kintamasis gali saugoti, kokios operacijos su jomis leidžiamos ir kiek atminties reikia primityviajai reikšmei.

Skirtingų tipų reikšmės

Java tipas rašomas prieš kintamojo pavadinimą:

int sveikasisSkaicius = 5;
float trupmeninisSkaicius = 5.99f;
char raide = 'D';
boolean arAktyvus = true;
String tekstas = "Labas";

Kiekviena reikšmė užrašoma pagal savo tipo taisykles: tekstas – dvigubose kabutėse, vienas simbolis – viengubose, float literalas turi f priesagą, o boolean reikšmė yra true arba false.

Dvi pagrindinės tipų grupės

Java duomenų tipai skirstomi į dvi grupes:

  • Primityvieji tipai – byte, short, int, long, float, double, boolean ir char.
  • Nuorodų tipai – objektai, tokie kaip , masyvai, klasės ir sąsajos.

Primityvusis kintamasis saugo pačią paprastą reikšmę. Nuorodos tipo kintamasis saugo nuorodą į objektą arba gali turėti reikšmę null. String nėra primityvusis tipas, nors naudojamas labai dažnai.

Aštuoni primityvieji Java tipai

Primityvusis tipas nusako galimų reikšmių rinkinį ir jų saugojimo būdą:

Java primityvieji duomenų tipai
TipasPaskirtis ir reikšmės
byteSveikieji skaičiai nuo −128 iki 127.
shortSveikieji skaičiai nuo −32 768 iki 32 767.
intSveikieji skaičiai nuo −2 147 483 648 iki 2 147 483 647.
long64 bitų sveikieji skaičiai nuo −263 iki 263−1.
float32 bitų slankiojo kablelio skaičiai, maždaug 6–7 reikšminių skaitmenų tikslumo.
double64 bitų slankiojo kablelio skaičiai, maždaug 15–16 reikšminių skaitmenų tikslumo.
booleanLoginė reikšmė true arba false.
charVienas 16 bitų UTF-16 kodo vienetas nuo '\u0000' iki '\uffff'.
char nėra skirtas tik simboliams.

Jis saugo vieną kodo vienetą. Kai kuriems simboliams, pavyzdžiui, daliai emoji, reikia dviejų char reikšmių.

Primityviųjų tipų pavyzdžiai

byte mazasSkaicius = 100;
short trumpasSkaicius = 30_000;
int gyventojuSkaicius = 2_800_000;
long atstumasMetrais = 9_000_000_000L;
float temperatura = 21.5f;
double kaina = 19.99;
boolean arPrisijunges = true;
char kategorija = 'A';

Dideliam long naudojama L priesaga, o float literalui – f. Apatiniai brūkšniai skaičiuose pagerina skaitomumą ir nekeičia jų reikšmės.

Nuorodų tipai

aprašo objektus ir sudėtingesnes duomenų struktūras. Jiems priklauso String, , standartinės Java klasės ir tavo pačio sukurtos klasės. Priešingai nei primityvieji kintamieji, nuorodos tipo kintamasis gali turėti reikšmę null, reiškiančią, kad šiuo metu objekto nenurodo.

Objektai gali turėti laukus ir metodus. Pavyzdžiui, String reikšmės metodas length() grąžina teksto ilgį. Klasės, objektai, masyvai ir tekstas bus nagrinėjami atskirose temose.

Deklaruotas tipas nesikeičia

Deklaravus kintamąjį, jo tipas išlieka toks pats visoje jo galiojimo srityje. int kintamajam negalima tiesiogiai priskirti teksto:

int taskai = 100;

// Negalima String reikšmės priskirti int kintamajam:
// taskai = "šimtas";

Kintamojo reikšmę galima keisti, tačiau nauja reikšmė turi būti suderinama su deklaruotu tipu. Jei reikia kito tipo, kuriamas kitas kintamasis arba atliekamas aiškus konvertavimas.

Tipų konvertavimas

Kai kurias skaitines reikšmes galima . Keičiant double į int būtina aiškiai nurodyti tikslinį tipą, o trupmeninė dalis atmetama:

double kaina = 19.99;
int suapvalintaKaina = (int) kaina;

System.out.println(suapvalintaKaina); // 19
Konvertuojant galima prarasti informaciją.

Rezultatas yra 19, o ne 20, nes konvertavimas į int neapvalina.