"Bună, Amigo!"

"Bună, Rishi!"

„Ați stăpânit deja elementele de bază ale sintaxei Java, așa că acum vreau să vă ofer mai multe detalii.”

"Astăzi, vom vorbi despre tipurile primitive și despre câtă memorie ocupă acestea. Aceste cunoștințe vor fi utile, poate chiar și astăzi. Iată tipurile de bază:"

Tip Dimensiune,
octeți
Interval de valori Valoare implicită Descriere
octet 1 -128 .. 127 0 Cel mai mic număr întreg, 1 octet
mic de statura 2 -32.768 .. 32.767 0 Număr întreg scurt, 2 octeți
int 4 -2*10 9  .. 2*10 9 0 Număr întreg, 4 octeți
lung 8 -9*10 18  .. 9*10 18 0L Număr întreg lung, 8 octeți
pluti 4 -10 127  .. 10 127 0,0f Număr fracționar, 4 octeți
dubla 8 -10 1023  .. 10 1023 0,0d Număr fracționar care este de două ori mai mare decât un float, 8 octeți
boolean 1 adevarat fals fals Tip boolean (numai adevărat sau fals)
char 2 0..65.535 „\u0000” Caractere, 2 octeți, toate valorile fără semn
Obiect 4 Orice referință sau nul. nul Stochează referințe la instanțe de Object sau clase care descind din Object

„Să vă spun mai multe despre fiecare tip”.

"Tipul de octet este cel mai mic tip întreg. Variabilele de acest tip ocupă doar 1 octet de memorie. Un octet poate stoca valori în intervalul între -128 și 127."

"De ce avem nevoie de un tip atât de mic? De ce nu putem folosi întotdeauna int?"

"Am putea. Dar dacă creați matrice mari ale căror elemente nu trebuie să stocheze niciodată valori mai mari de 100, de ce să nu folosiți acest tip? Are sens?"

"Un scurt este de două ori mai lung decât un octet și, de asemenea, stochează doar numere întregi. Cel mai mare număr pozitiv pe care îl poate stoca este 32.767. Cel mai mare număr negativ pe care îl poate stoca este -32.768."

„  Tipul int  cu care sunteți deja familiarizat. Poate stoca numere întregi în intervalul ±2.000.000.000.”

„  Tipul float  a fost creat pentru a stoca numere reale (fracționale). Dimensiunea sa este de 4 octeți.”

„Numerele fracționale sunt stocate într-o formă destul de interesantă”.

„De exemplu, numărul  987654.321  poate fi reprezentat ca 0.987654321*10 6 . Aceasta înseamnă că poate fi reprezentat ca două numere în memorie: 0. 987654321 ( mantisa sau semnificantul ) și 6 ( exponent de bază 10 ).”

„Pentru ce avem nevoie de asta?”

„Această abordare ne permite să folosim 4 octeți pentru a stoca numere mult mai mari decât ceea ce poate stoca un int. Pentru a face acest lucru, trebuie să sacrificăm acuratețea. Doar o parte din acești octeți sunt folosiți pentru a stoca mantisa, ceea ce înseamnă că aceste numere stochează doar 6-7 zecimale. zecimale mai puțin semnificative sunt eliminate."

„Aceste numere se mai numesc și numere în virgulă mobilă . De aici provine numele tipului flotant . ”

"Înțeleg."

„ Tipul dublu este similar cu float , dar de două ori mai lung (de unde și numele), ocupând 8 octeți. Poate găzdui o mantise mai mare și cifre mai semnificative. Dacă trebuie să stocați numere reale, încercați întotdeauna să utilizați acest tip. "

" char este un tip hibrid. Valorile sale pot fi interpretate atât ca numere (care pot fi adăugate sau scăzute) cât și ca caractere. Acest lucru este posibil deoarece chiar dacă caracterele au o reprezentare vizuală, computerul le vede în principal ca numere. Și este mai convenabil. pentru a le trata ca numere. Încă un lucru: tipul char este întotdeauna pozitiv. Nu poate conține valori negative. "

„ Tipul boolean este un tip logic care poate stoca doar două valori: adevărat sau fals  .

„În ciuda prezenței sale în această diagramă, tipul Object nu este un tip primitiv. Este clasa de bază pentru toate clasele din Java. În primul rând, toate clasele sunt derivate din acesta și, prin urmare, conțin metodele sale. În al doilea rând, o variabilă Object poate stoca referințe. la obiecte de orice tip, inclusiv null ( o referință nulă )."

"Am învățat multe astăzi. Mulțumesc pentru lecție, Rishi."