Kokie yra skirtingi duomenų tipai Java kalboje?
Java siūlo aštuonis primityvius duomenų tipus ir daugybę sudėtingų duomenų tipų. Jie nulemia, kokios reikšmės gali būti saugomos ir rodomos kintamajame. Tam tikri duomenų tipai yra priskiriami visiems kintamiesiems Java kalboje.
Kokie duomenų tipai yra Java?
Kiekvienoje programavimo kalboje yra įvairių duomenų tipų, kurie apima konkrečius objektus ir apibrėžtas operacijas. Nors skirtingų kalbų siūlomi duomenų tipų variantai dažnai yra panašūs, kartais yra ir reikšmingų skirtumų. Pavyzdžiui, palyginus Python ir Java kalbas bei jų duomenų tipus, galima pastebėti panašumų, bet taip pat ir daug skirtumų, dėl kurių šios kalbos tinka skirtingiems uždaviniams atlikti.
Java naudoja dviejų skirtingų tipų duomenų tipus: primityvius ir sudėtinius. Sudėtiniai duomenų tipai taip pat vadinami nuorodų tipais. Primityvūs ir sudėtiniai duomenų tipai skiriasi savo dydžiu ir nulemia, kokios reikšmės gali būti saugomos kintamajame. Primityvūs duomenų tipai gali saugoti tik paprastas reikšmes, o nuorodų tipai naudojami sudėtingesnėms struktūroms kurti, dideliems duomenų kiekiams tvarkyti ir manipuliuoti.
Jei norite išmokti programuoti, svarbu ne tik žinoti skirtingus duomenų tipus, bet ir tai, kaip iš kiekvieno iš jų išgauti maksimalią naudą. Norint suprasti, kaip geriausiai naudoti duomenų tipus, reikia ne tik suprasti jų funkcionalumą, bet ir tai, kiek atminties jie naudoja (arba taupo).
Kas yra primityvūs duomenų tipai Java kalboje?
Java kalboje yra iš viso aštuoni skirtingi primityvūs duomenų tipai, kurie turi griežtai apibrėžtus verčių intervalus. Juos galima suskirstyti į keturias kategorijas: loginiai duomenų tipai, integraliniai duomenų tipai, slankiojo kablelio duomenų tipai ir simbolių duomenų tipai. Jie neturi jokių papildomų specialių savybių ir dar vadinami elementariais duomenų tipais. Kiekvienas duomenų tipas turi fiksuotą bitų skaičių. Toliau išsamiau aptarsime primityvius duomenų tipus. Java naudoja šiuos primityvius tipus:
- būlio
- baitas
- trumpasis
- int arba sveikasis skaičius
- ilgas
- plūduriuojantis
- dvigubas
- char
boolean
Java boolinis duomenų tipas nėra skaitmeninis tipas. Jis siūlo tik dvi galimas reikšmes: true ir false. Jis gali būti naudojamas norint nustatyti, ar sąlyga taikoma (true) ar ne (false). Tai loginis duomenų tipas, kurio numatytoji reikšmė yra false. Jis sudarytas iš 1 bito ir turi tokią sintaksę:
boolean booleanVar;javabyte
byte yra integralus duomenų tipas, pateikiamas kaip dviejų papildinių vertė, kurios dydis yra 8 bitai arba 1 baitas. Jis paprastai naudojamas siekiant sutaupyti atminties didesnėse masyvuose. Jo verčių diapazonas yra nuo -128 iki 127, o numatytoji vertė yra 0. Štai jo sintaksė:
byte byteVar;javashort
short taip pat yra vienas iš integralinių duomenų tipų Java kalboje ir dažniausiai naudojamas atminties taupymui didesniuose masyvuose. Dviejų papildų vertė yra 16 bitų arba 2 baitų dydžio, o jos vertės diapazonas yra nuo -32768 iki 32767 imtinai. Pagal numatytuosius nustatymus jos vertė yra 0. Štai kaip naudojamas short:
short shortVarjavaint arba sveikasis skaičius
int arba sveikasis skaičius taip pat yra dviejų papildinių vertė ir integralus duomenų tipas, kurio dydis yra 4 baitai arba 32 bitai. Jo vertės diapazonas apima sveikųjų skaičių nuo -2147483648 iki 2147483647, o jo numatytoji vertė yra 0. Jo sintaksė yra tokia:
int intVarjavalong
Didžiausias integralus duomenų tipas yra long. Tai pirmiausia taikoma jo verčių diapazonui, kuris yra nuo -9223372036854775808 iki 9223372036854775807, ir antra, jo dydžiui, kuris yra 8 baitai arba 64 bitai. Todėl dviejų papildinių vertė naudojama, jei kiti integralūs duomenų tipai yra nepakankami. Tačiau ji taip pat reikalauja daugiausia atminties. Jos numatytoji vertė yra 0. Štai jos sintaksė:
lomg longVarjavafloat
float yra plaukiojančiojo kablelio duomenų tipas, naudojamas realių skaičių saugojimui. Jo dydis yra 32 bitai ir jis atitinka IEEE 754 standartą, kuris apibrėžia standartinį dvejetainių ir dešimtainių plaukiojančiojo kablelio skaičių atvaizdavimą kompiuteriuose. Standartinė float vertė yra 0,0, o jo vertės diapazone gali būti atvaizduojami iki septynių dešimtainių skaičių. Tačiau, palyginti su double, float nėra toks tikslus, todėl neturėtų būti naudojamas vertėms, kurioms tikslumas yra labai svarbus. Tačiau, jei tai nėra būtina, galite naudoti float, kad sutaupytumėte vietos. float sintaksė yra tokia:
float floatVar;javadouble
double yra maždaug dvigubai tikslesnis už float ir atlieka panašią funkciją. Jo dydis yra 64 bitai ir jis gali atvaizduoti iki 16 dešimtainių skaitmenų. Jo numatytoji vertė taip pat yra 0,0. Jei jums reikalingos tikslesnės vertės, visada turėtumėte naudoti double, nors šis duomenų tipas taip pat nėra labai tikslus. Jei norite dirbti su visiškai tiksliomis reikšmėmis, turėtumėte naudoti BigDecimal klasę. double sintaksė yra tokia:
double doubleVar;javachar
char yra simbolių duomenų tipas. Jis saugo simbolius, pagrįstus Unicode simbolių rinkiniu, todėl yra pritaikomas daugeliui skirtingų platformų. Kiekvienam simboliui reikia 2 baitų atminties. Jo vertės diapazonas atitinka ASCII (Amerikos standartinis informacijos mainų kodas) ir yra tarp „\u0000“ (t. y. 0) ir „\uffff“ (atitinka 65535). Char numatytoji vertė yra „\u0000“, o jo sintaksė atrodo taip:
char charVarjavaKas yra sudėtingi duomenų tipai Java kalboje?
Antrasis duomenų tipų tipas Java kalboje yra nuorodų tipai, dar vadinami sudėtiniais duomenų tipais. Jie vadinami nuorodų tipais, nes jie nurodo objektus. Priešingai nei primityvieji duomenų tipai, jie paprastai nėra iš anksto apibrėžti, bet nustatomi programuotojo (išimtis – eilutė). Jie gali naudoti metodus ir taip pat gali turėti vertę 0 (tuščios reikšmės prasme). Primityvieji duomenų tipai prasideda mažąja raide, o nuorodų tipai – didžiąja raide. Čia apžvelgsime svarbiausius nuorodų tipus.
Stygos
String yra klasė, kuri gali būti naudojama simbolių sekos atvaizdavimui, atskiriant šį sudėtingą duomenų tipą nuo primityvaus duomenų tipo char bei kitų duomenų tipų. Stygos egzistuoja kaip objektai java.lang klasėje. Įvairūs String klasės metodai leidžia jums tikrinti atskirus simbolius stygose, lyginti stygas tarpusavyje, ieškoti stygų ir kopijuoti stygas. Stygos yra identifikuojamos kabutėmis. Šio nuorodų tipo sintaksė atrodo taip:
<string_type> <string_variable> = "<string_sequence>";javaŠtai pavyzdys, kaip veikia stygos:
// 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");javaMasyvai
Masyvai naudojami kelioms reikšmėms saugoti vienoje kintamojoje, vietoj to, kad kiekvienai atskirai reikšmei būtų kuriamos skirtingos kintamosios. Jie kuriamos naudojant kvadratines skliausteles. Saugomos reikšmės rašomos skliaustuose ir atskiriamos kableliais. Štai masyvų sintaksė:
dataType[] arrayName = {value1, value2, value3,…};javaJei norite sukurti masyvą su eilutėmis, galite tai padaryti taip:
String[] colors = {"blue", "red", "yellow", "purple"};javaŠtai kaip sukurti masyvą su sveikaisiais skaičiais:
int[] figures = {5, 10, 15, 20};javaPamokos
Java kalboje klasės yra duomenų tipai, kurie naudojami kaip šablonas objektams kurti. Jos sudaro įvairius komponentus, įskaitant klasės pavadinimą, modifikatorius ir kūną, įrašytą į skliaustelius. Štai pavyzdys, kaip atrodo klasė Java kalboje:
public class Main {
int a = 10;
}javaSąsajos
Java kalboje sąsaja yra abstrakti klasė. Ji veikia kaip sąsaja, per kurią klasė gali pasiekti įvairias funkcijas. Tačiau norint tai padaryti, pirmiausia jas reikia įgyvendinti. Sąsajos sudaro tik konstantos ir abstrakčiosios metodikos. Jų sintaksė atrodo taip:
interface {
abstract methods
}javaČia pateiksime paprastą pavyzdį, kad parodytume, kaip veikia sąsajos:
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();
}
}javaAtitinkamas Java komandos System.out.println išvesties rezultatas atrodo taip:
mushrooms, tomato sauce, oregano, mozzarella
The pizza will be ready in 15 minutes.javaObjektai
Java kalboje objektai taip pat yra sudėtingas duomenų tipas. Objektai yra klasių instancės, kurios gali tarpusavyje sąveikauti naudodamos metodus. Toliau pateiktame pavyzdyje sukursime keletą objektų Main klasėje:
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);
}
}javaRezultatas atrodo taip:
10
10javaEnumai
Enumai yra speciali klasė, leidžianti įtraukti nekintamas konstantas į jūsų kodą. Šioms kintamosioms priskiriamos fiksuotos reikšmės, kurių negalima keisti. Šis duomenų tipas ypač naudingas, jei jums reikalingos kintamosios, kurios gali turėti tik keletą galimų būsenų. Enumo sintaksė atrodo taip:
enum NameOfTheClass {
VALUE1,
VALUE2,
VALUE3
}java