Kateri so različni tipi podatkov v Javi?
Java ponuja osem primitivnih podatkovnih tipov in številne kompleksne podatkovne tipe. Ti določajo, katere vrednosti se lahko shranijo in prikažejo v spremenljivki. Vsi spremenljivki v Javi so dodeljeni določeni podatkovni tipi.
Kakšni tipi podatkov obstajajo v Javi?
V vsakem programskem jeziku obstajajo različni podatkovni tipi, ki vsebujejo specifične objekte in definirane operacije. Čeprav so možnosti podatkovnih tipov, ki jih ponujajo različni jeziki, pogosto podobne, obstajajo včasih tudi pomembne razlike. Če na primer primerjate Python in Java ter njune podatkovne tipe, boste opazili podobnosti med njima, pa tudi številne razlike, zaradi katerih sta jezika primerna za različne vrste nalog.
Java uporablja dve različni vrsti podatkovnih tipov: primitivne in kompleksne. Kompleksni podatkovni tipi se imenujejo tudi referenčni tipi. Primitivni in kompleksni podatkovni tipi se razlikujejo po velikosti in določajo, katere vrednosti se lahko shranijo v spremenljivki. Medtem ko primitivni podatkovni tipi lahko shranjujejo le preproste vrednosti, se referenčni tipi uporabljajo za ustvarjanje bolj kompleksnih struktur ter organiziranje in manipulacijo velikih količin podatkov.
Če se želite naučiti programirati, je pomembno, da poznate ne le različne tipe podatkov, ampak tudi to, kako iz vsakega izmed njih izvleči največ. Razumevanje, kako najbolje uporabiti tipe podatkov, ni le vprašanje razumevanja njihove funkcionalnosti, ampak tudi tega, koliko pomnilnika porabijo (ali prihranijo).
Kaj so primitivni podatkovni tipi v Javi?
V Javi obstaja skupno osem različnih primitivnih podatkovnih tipov, ki vsebujejo strogo določena vrednostna območja. Razdelimo jih lahko v štiri kategorije: logični podatkovni tipi, integralni podatkovni tipi, podatkovni tipi s plavajočo vejico in znakovni podatkovni tipi. Nimajo dodatnih posebnih zmogljivosti in se imenujejo tudi osnovni podatkovni tipi. Vsak podatkovni tip ima fiksno število bitov. Primitivne podatkovne tipe bomo podrobneje obravnavali v nadaljevanju. Java uporablja naslednje primitive tipe:
- boolean
- bajt
- kratka
- int ali celo število
- dolgo
- float
- dvojno
- char
boolean
Boolean podatkovni 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 podatkovni tip, njegova privzeta vrednost pa je false. Sestavljen je iz 1 bita in ima naslednjo sintakso:
boolean booleanVar;javabyte
byte je integralni podatkovni tip, predstavljen kot vrednost dopolnila do dveh z velikostjo 8 bitov ali 1 bajt. Običajno se uporablja za varčevanje s pomnilnikom v večjih nizih. Njegov razpon vrednosti sega od -128 do 127, privzeta vrednost pa je 0. Tukaj je njegova sintaksa:
byte byteVar;javashort
short je tudi eden od integralnih podatkovnih tipov v Javi in se uporablja predvsem za varčevanje s pomnilnikom v večjih nizih. Vrednost dopolnila dveh je 16 bitov ali 2 bajta, njen vrednostni razpon pa sega od -32768 do vključno 32767. Privzeto je njena vrednost 0. Tako se uporablja short:
short shortVarjavaint ali celo število
int ali celo število je tudi vrednost dopolnila do dveh in integralni podatkovni tip z velikostjo 4 bajtov ali 32 bitov. Njegov vrednostni razpon vključuje cela števila med -2147483648 in 2147483647, njegova privzeta vrednost pa je 0. Njegova sintaksa je naslednja:
int intVarjavalong
Največji integralni podatkovni tip je long. To velja najprej za njegov vrednostni razpon, ki je med -9223372036854775808 in 9223372036854775807, in nato za njegovo velikost, ki je 8 bajtov ali 64 bitov. Dvojiški dopolnilni vrednosti se zato uporablja, če drugi celoštevilčni podatkovni tipi niso zadostni. Vendar pa zahteva tudi daleč največ pomnilnika. Njena privzeta vrednost je 0. To je njena sintaksa:
lomg longVarjavafloat
float je podatkovni tip s plavajočo vejico in se uporablja za shranjevanje realnih števil. Ima velikost 32 bitov in je skladen s standardom IEEE 754, ki opredeljuje standardno predstavitev binarnih in decimalnih števil s plavajočo vejico v računalnikih. Standardna vrednost float je 0,0, v njenem vrednostnem območju pa je mogoče predstaviti do sedem decimalnih mest. V primerjavi z double pa float ni tako natančen in ga zato ne smemo uporabljati za vrednosti, pri katerih je natančnost odločilnega pomena. Če pa to ni primer, lahko float uporabimo za prihranek prostora. Sintaksa za float je naslednja:
float floatVar;javadouble
double je približno dvakrat natančnejši od float in ima podoben namen. Je velik 64 bitov in lahko predstavlja do 16 decimalnih mest. Njegova privzeta vrednost je prav tako 0,0. Če potrebujete natančnejše vrednosti, morate vedno uporabiti double, čeprav tudi ta podatkovni tip ni tako natančen. Če želite delati z absolutno natančnimi vrednostmi, morate namesto tega uporabiti razred BigDecimal. Sintaksa double je naslednja:
double doubleVar;javachar
char je tip podatkov znakov. Shranjuje znake na podlagi znakovne kode Unicode, kar omogoča prenosljivost na številne različne platforme. Vsak znak zahteva 2 bajta pomnilnika. Njegov vrednostni razpon ustreza ASCII (American Standard Code for Information Interchange) in se nahaja med ‘\u0000’ (tj. 0) in ‘\uffff’ (ustreza 65535). Privzeta vrednost char je „\u0000“, njegova sintaksa pa je naslednja:
char charVarjavaKaj so kompleksni podatkovni tipi v Javi?
Drugi tip podatkovnih tipov v Javi so referenčni tipi, imenovani tudi kompleksni podatkovni tipi. Imenujejo se referenčni tipi, ker se nanašajo na objekte. V nasprotju s primitivnimi podatkovnimi tipi običajno niso vnaprej določeni, ampak jih določi programer (izjema je niz). Lahko uporabljajo metode in imajo lahko tudi vrednost 0 (v smislu prazno). Medtem ko se primitivni podatkovni tipi začnejo z malo začetnico, se referenčni tipi začnejo z veliko začetnico. Tukaj si bomo ogledali najpomembnejše referenčne tipe.
Nize
String je razred, ki se lahko uporablja za predstavitev zaporedja znakov, kar ta kompleksni podatkovni tip ločuje od primitivnega podatkovnega tipa char in drugih podatkovnih tipov. Niz obstaja kot objekt v razredu java.lang. Različne metode razreda String omogočajo pregledovanje posameznih znakov v nizu, primerjanje nizov med seboj, iskanje nizov in kopiranje nizov. Nizi so označeni z narekovaji. Sintaksa tega referenčnega tipa je naslednja:
<string_type> <string_variable> = "<string_sequence>";javaTukaj 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");javaNizi
Nizi se uporabljajo za shranjevanje več vrednosti v spremenljivki, namesto da bi za vsako posamezno vrednost ustvarili različne spremenljivke. 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"};javaTako ustvarite niz s celimi števili:
int[] figures = {5, 10, 15, 20};javaRazredi
V Javi so razredi podatkovni tipi, ki služijo kot predloga za ustvarjanje objektov. Vsebujejo različne komponente, vključno z imenom razreda, modifikatorji in telesom, zaprtim v oklepajih. Tukaj je primer, kako izgleda razred v Javi:
public class Main {
int a = 10;
}javaVmesniki
V Javi je vmesnik abstrakten razred. Deluje kot vmesnik, prek katerega lahko razred dostopa do različnih funkcij. Da bi to lahko storil, pa jih mora najprej implementirati. Vmesniki vsebujejo samo konstante in abstrakte metode. Njihova sintaksa je naslednja:
interface {
abstract methods
}javaTukaj bomo na preprostem 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();
}
}javaUstrezni izpis iz ukaza Java System.out.println je naslednji:
mushrooms, tomato sauce, oregano, mozzarella
The pizza will be ready in 15 minutes.javaPredmeti
V Javi so objekti prav tako kompleksni podatkovni tipi. Objekti so primeri razredov, ki lahko med seboj komunicirajo z uporabo metod. V naslednjem 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);
}
}javaIzhod je videti takole:
10
10javaEnumi
Enumi so posebna razreda, ki vam omogočajo vključitev nespremenljivih konstant v vaš kod. Tem spremenljivkam so dodeljene fiksne vrednosti, ki jih ni mogoče spremeniti. Ta podatkovni tip je še posebej uporaben, če potrebujete spremenljivke, ki imajo le nekaj možnih stanj. Sintaksa enuma je naslednja:
enum NameOfTheClass {
VALUE1,
VALUE2,
VALUE3
}java