logo

Tipuri de date Java

Java este tipat static și, de asemenea, un limbaj puternic tipat, deoarece, în Java, fiecare tip de date (cum ar fi întreg, caracter, hexazecimal, zecimal împachetat și așa mai departe) este predefinit ca parte a limbajului de programare și toate constantele sau variabilele definite pentru un anumit program trebuie descris cu unul dintre tipurile de date Java.

Tipuri de date în Java

Tipuri de date în Java sunt de diferite dimensiuni și valori care pot fi stocate în variabila care este făcută în funcție de comoditate și circumstanțe pentru a acoperi toate cazurile de testare. Java are două categorii în care tipurile de date sunt separate



  1. Tip de date primitive: cum ar fi boolean, char, int, short, byte, long, float și double
  2. Tip de date non-primitive sau tip de date obiect: cum ar fi String, Array etc.

Tipuri de date-Java

compara în șir

Tipuri de date primitive în Java

Datele primitive sunt doar valori unice și nu au capacități speciale. Există 8 tipuri de date primitive. Ele sunt prezentate mai jos în format tabelar, după cum urmează:

Tip



Descriere

Mod implicit

mărimea



Literale de exemplu

Gama de valori

boolean adevărat sau fals fals 1 bit adevarat fals

adevarat fals

octet întreg cu complement de doi 0 8 biți (nici unul)

-128 la 127

char caracter Unicode u0000 16 biți „a”, „u0041”, „101”, „”, „”, „ ”, „b”

reprezentarea caracterelor a valorilor ASCII

de la 0 la 255

mic de statura întreg cu complement de doi 0 16 biți (nici unul)

-32.768 până la 32.767

int doi-complement întreg 0 32 de biți -2,-1,0,1,2

-2.147.483.648

la

2.147.483.647

lung întreg cu complement de doi 0 64 de biți -2L,-1L,0L,1L,2L

-9.223.372.036.854.775.808

la

9.223.372.036.854.775.807

pluti IEEE 754 virgulă mobilă 0,0 32 de biți 1.23e100f , -1.23e-100f , .3f ,3.14F

până la 7 cifre zecimale

dubla IEEE 754 virgulă mobilă 0,0 64 de biți 1.23456e300d , -123456e-300d , 1e1d

până la 16 cifre zecimale

Să discutăm și să implementăm fiecare dintre următoarele tipuri de date, care sunt după cum urmează:

1. Tipul de date boolean

Tipul de date boolean reprezintă doar un bit de informație fie adevărat, fie fals care este destinat să reprezinte cele două valori de adevăr ale logicii și algebrei booleene, dar dimensiunea tipului de date boolean este dependent de mașina virtuală . Valorile de tip boolean nu sunt convertite implicit sau explicit (cu turnări) în niciun alt tip. Dar programatorul poate scrie cu ușurință codul de conversie.

Sintaxă:

boolean booleanVar;>

Mărimea: Depinde de mașina virtuală

2. Tip de date octet

Tipul de date octet este un număr întreg de complement a doi cu semn de 8 biți. Tipul de date octet este util pentru economisirea memoriei în matrice mari.

Sintaxă:

byte byteVar;>

Mărimea: 1 octet (8 biți)

nfa la dfa

3. Tip de date scurt

Tipul de date scurt este un întreg de complement a doi cu semn pe 16 biți. Similar cu byte, utilizați un scurt pentru a salva memorie în matrice mari, în situațiile în care economiile de memorie contează de fapt.

Sintaxă:

short shortVar;>

Mărimea: 2 octeți (16 biți)

4. Tip de date întreg

Este un întreg de complement a doi cu semn pe 32 de biți.

Sintaxă:

int intVar;>

Mărimea: 4 octeți (32 de biți)

Tine minte: În Java SE 8 și versiuni ulterioare, putem folosi tipul de date int pentru a reprezenta un întreg fără semn pe 32 de biți, care are o valoare în intervalul [0, 232-1]. Utilizați clasa Integer pentru a utiliza tipul de date int ca un întreg nesemnat.

5. Tip de date lung

Gama unui lung este destul de mare. Tipul de date lung este un întreg de complement pe doi pe 64 de biți și este util pentru acele ocazii în care un tip int nu este suficient de mare pentru a păstra valoarea dorită. Dimensiunea Long Datatype este de 8 octeți (64 de biți).

Sintaxă:

long longVar;>

Tine minte: În Java SE 8 și versiuni ulterioare, puteți utiliza tipul de date lung pentru a reprezenta o lungime nesemnată de 64 de biți, care are o valoare minimă de 0 și o valoare maximă de 264-1. Clasa Long conține, de asemenea, metode precum compararea Unsigned, divide Unsigned etc.

6. Tip de date flotant

Tipul de date float este un punct mobil IEEE 754 cu precizie unică pe 32 de biți. Utilizați un float (în loc de dublu) dacă trebuie să economisiți memorie în matrice mari de numere în virgulă mobilă. Dimensiunea tipului de date float este de 4 octeți (32 de biți).

Sintaxă:

float floatVar;>

7. Tip de date dublu

Tipul de date dublu este un punct mobil IEEE 754 cu precizie dublă pe 64 de biți. Pentru valorile zecimale, acest tip de date este în general alegerea implicită. Dimensiunea tipului de date dublu este de 8 octeți sau 64 de biți.

Sintaxă:

double doubleVar;>

Notă: Ambele tipuri de date float și double au fost concepute special pentru calcule științifice, unde erorile de aproximare sunt acceptabile. Dacă acuratețea este cea mai importantă preocupare, atunci se recomandă să nu utilizați aceste tipuri de date și să utilizați în schimb clasa BigDecimal.

Este recomandat să treci prin rotunjirea erorilor în java.

8. Tip de date Char

Tipul de date char este un singur caracter Unicode de 16 biți cu dimensiunea de 2 octeți (16 biți).

Sintaxă:

char charVar;>

De ce dimensiunea caracterului este de 2 octeți în Java?

Deci, alte limbaje precum C/C++ folosesc doar caractere ASCII, iar pentru a reprezenta toate caracterele ASCII 8 biți este suficient. Dar Java folosește Sistemul Unicode nu sistemul de cod ASCII iar pentru a reprezenta sistemul Unicode 8 biți nu este suficient pentru a reprezenta toate caracterele, așa că Java folosește 2 octeți pentru caractere. Unicode definește un set de caractere complet internațional care poate reprezenta majoritatea limbilor scrise ale lumii. Este o unificare a zeci de seturi de caractere, cum ar fi latină, greacă, chirilică, katakana, arabă și multe altele.

Exemplu:

Java


protocoale de nivel de legătură de date



// Java Program to Demonstrate Char Primitive Data Type> // Class> class> GFG {> >// Main driver method> >public> static> void> main(String args[])> >{> >// Creating and initializing custom character> >char> a =>'G'>;> >// Integer data type is generally> >// used for numeric values> >int> i =>89>;> >// use byte and short> >// if memory is a constraint> >byte> b =>4>;> >// this will give error as number is> >// larger than byte range> >// byte b1 = 7888888955;> >short> s =>56>;> >// this will give error as number is> >// larger than short range> >// short s1 = 87878787878;> >// by default fraction value> >// is double in java> >double> d =>4.355453532>;> >// for float use 'f' as suffix as standard> >float> f =>4>.7333434f;> >// need to hold big range of numbers then we need> >// this data type> >long> l =>12121>;> >System.out.println(>'char: '> + a);> >System.out.println(>'integer: '> + i);> >System.out.println(>'byte: '> + b);> >System.out.println(>'short: '> + s);> >System.out.println(>'float: '> + f);> >System.out.println(>'double: '> + d);> >System.out.println(>'long: '> + l);> >}> }>

>

abonament azure
>

Ieșire

char: G integer: 89 byte: 4 short: 56 float: 4.7333436 double: 4.355453532 long: 12121>

Tip de date non-primitive sau tipuri de date de referință

The Tipuri de date de referință va conține o adresă de memorie a valorilor variabilelor, deoarece tipurile de referință nu vor stoca valoarea variabilei direct în memorie. Sunt șiruri de caractere, obiecte, matrice etc.

1. Corzi

Siruri de caractere sunt definite ca o matrice de caractere. Diferența dintre o matrice de caractere și un șir în Java este că șirul este proiectat să dețină o secvență de caractere într-o singură variabilă, în timp ce o matrice de caractere este o colecție de entități separate de tip char. Spre deosebire de C/C++, șirurile Java nu se termină cu un caracter nul.

Sintaxă: Declararea unui șir

 = ;>

Exemplu:

// Declare String without using new operator  String s = 'techcodeview.com';  // Declare String using new operator  String s1 = new String('techcodeview.com');>

2. Clasa

A clasă este un model definit de utilizator sau un prototip din care sunt create obiecte. Reprezintă setul de proprietăți sau metode care sunt comune tuturor obiectelor de un singur tip. În general, declarațiile de clasă pot include aceste componente, în ordine:

  1. Modificatori : O clasă poate fi publică sau are acces implicit. A se referi la specificatorii de acces pentru clase sau interfețe în Java
  2. Numele clasei: Numele trebuie să înceapă cu o literă inițială (cu majusculă prin convenție).
  3. Superclasă (dacă există): Numele părintelui clasei (superclasa), dacă există, precedat de cuvântul cheie extinde. O clasă poate extinde (subclasă) doar un părinte.
  4. Interfețe (dacă există): O listă separată prin virgulă de interfețe implementate de clasă, dacă există, precedată de cuvântul cheie implements. O clasă poate implementa mai mult de o interfață.
  5. Corp: Corpul clasei este înconjurat de acolade, { }.

3. Obiect

Un Obiect este o unitate de bază a programării orientate pe obiecte și reprezintă entități din viața reală. Un program tipic Java creează multe obiecte, care, după cum știți, interacționează prin invocarea unor metode. Un obiect este format din:

  1. Stat : Este reprezentat de atributele unui obiect. De asemenea, reflectă proprietățile unui obiect.
  2. Comportament : Este reprezentat prin metodele unui obiect. De asemenea, reflectă răspunsul unui obiect la alte obiecte.
  3. Identitate : dă un nume unic unui obiect și permite unui obiect să interacționeze cu alte obiecte.

4. Interfață

Ca o clasă, an interfață poate avea metode și variabile, dar metodele declarate într-o interfață sunt implicit abstracte (doar semnătura metodei, fără corp).

  • Interfețele specifică ce trebuie să facă o clasă și nu cum. Este planul clasei.
  • O interfață se referă la capabilități precum un Player ar putea fi o interfață și orice clasă care implementează Player trebuie să poată (sau trebuie să implementeze) mutarea (). Deci specifică un set de metode pe care clasa trebuie să le implementeze.
  • Dacă o clasă implementează o interfață și nu furnizează corpuri de metodă pentru toate funcțiile specificate în interfață, atunci clasa trebuie să fie declarată abstractă.
  • Un exemplu de bibliotecă Java este Interfață de comparație . Dacă o clasă implementează această interfață, atunci poate fi folosită pentru a sorta o colecție.

5. Matrice

Un Matrice este un grup de variabile similare la care se face referire printr-un nume comun. Matricele în Java funcționează diferit decât în ​​C/C++. Următoarele sunt câteva puncte importante despre matricele Java.

  • În Java, toate tablourile sunt alocate dinamic. (discutat mai jos)
  • Deoarece tablourile sunt obiecte în Java, putem găsi lungimea lor folosind lungimea membrului. Acesta este diferit de C/C++ unde găsim lungimea folosind dimensiunea.
  • O variabilă matrice Java poate fi, de asemenea, declarată ca și alte variabile cu [] după tipul de date.
  • Variabilele din matrice sunt ordonate și fiecare are un index care începe cu 0.
  • Matricea Java poate fi folosită și ca câmp static, variabilă locală sau parametru de metodă.
  • The mărimea a unui tablou trebuie specificat printr-o valoare int și nu lung sau scurt.
  • Superclasa directă a unui tip de matrice este Object.
  • Fiecare tip de matrice implementează interfețele Clonabil și java.io.Serializabil .

Întrebări frecvente despre tipurile de date în Java

1. Ce sunt tipurile de date în Java?

Tipurile de date sunt de diferite dimensiuni și valori care pot fi stocate în variabila care este realizată în funcție de comoditate și circumstanțe pentru a acoperi toate cazurile de testare.

2. Care sunt cele 8 tipuri de date utilizate în Java?

Există 8 tipuri principale de date primitive în Java, după cum este menționat mai jos:

  • boolean
  • octet
  • char
  • mic de statura
  • int
  • lung
  • pluti
  • dubla

3. Care este un tip primitiv în Java?

Tipurile de date primitive sunt tipurile din Java care pot stoca o singură valoare și nu oferă nicio capacitate specială.

4. De ce char folosește 2 octeți în Java și ce este u0000?

Char folosește 2 octeți în java deoarece folosește sistemul Unicode mai degrabă decât sistemul ASCII. u000 este cel mai mic interval al sistemului Unicode.

Verifică: Test despre tipul de date în Java