"Hallo Amigo!"

"Hallo Rishi!"

"Je hebt de basis van Java-syntaxis al onder de knie, dus nu wil ik je wat meer details geven."

"Vandaag zullen we het hebben over primitieve typen en hoeveel geheugen ze innemen. Deze kennis zal van pas komen, misschien zelfs vandaag nog. Hier zijn de basistypen:"

Type Grootte,
bytes
Waardebereik Standaardwaarde Beschrijving
byte 1 -128 .. 127 0 Het kleinste gehele getal, 1 byte
kort 2 -32.768 .. 32.767 0 Kort geheel getal, 2 bytes
int 4 -2*10 9  .. 2*10 9 0 Geheel getal, 4 bytes
lang 8 -9*10 18  .. 9*10 18 0L Lang geheel getal, 8 bytes
vlot 4 -10 127  .. 10 127 0.0f Fractionele getal, 4 bytes
dubbele 8 -10 1023  .. 10 1023 0.0d Een breukgetal dat twee keer zo groot is als een float, 8 bytes
booleaans 1 waar onwaar vals Booleaans type (alleen waar of onwaar)
char 2 0..65.535 '\u0000' Tekens, 2 bytes, allemaal niet-ondertekende waarden
Voorwerp 4 Elke referentie of null. nul Slaat verwijzingen op naar instanties van Object of klassen die afstammen van Object

"Laat me je meer vertellen over elk type."

"Het bytetype is het kleinste gehele type. Variabelen van dit type nemen slechts 1 byte geheugen in beslag. Een byte kan waarden opslaan in het bereik tussen -128 en 127."

"Waarom hebben we zo'n klein type nodig? Waarom kunnen we niet altijd int gebruiken?"

"Dat zou kunnen. Maar als je grote arrays maakt waarvan de elementen nooit waarden groter dan 100 hoeven op te slaan, waarom zou je dit type dan niet gebruiken? Is dat logisch?"

"Een korte is twee keer zo lang als een byte, en het slaat ook alleen gehele getallen op. Het grootste positieve getal dat het kan opslaan is 32.767. Het grootste negatieve getal dat het kan opslaan is -32.768."

"Het  int-  type dat je al kent. Het kan gehele getallen opslaan in het bereik van ±2.000.000.000."

"Het  float-  type is gemaakt om echte (fractionele) getallen op te slaan. De grootte is 4 bytes."

"Fractionele getallen worden in een nogal interessante vorm opgeslagen."

"Het getal 987654.321 kan bijvoorbeeld   worden weergegeven als 0.987654321*10 6 . Dit betekent dat het kan worden weergegeven als twee getallen in het geheugen: 0. 987654321 ( mantisse of significand ) en 6 ( base-10 exponent )."

"Waar hebben we dat voor nodig?"

"Met deze aanpak kunnen we 4 bytes gebruiken om getallen op te slaan die veel groter zijn dan wat een int kan opslaan. Om dit te doen, moeten we nauwkeurigheid opofferen. Slechts een deel van die bytes wordt gebruikt om de mantisse op te slaan, wat betekent dat deze getallen alleen opslaan 6-7 decimalen. Minder significante decimalen worden weggegooid."

"Deze getallen worden ook wel getallen met een drijvende komma genoemd . Hier komt de naam van het type float vandaan. "

"Ik zie."

"Het dubbele type is vergelijkbaar met float , maar twee keer zo lang (vandaar de naam), en neemt 8 bytes in beslag. Het is geschikt voor een grotere mantisse en meer significante cijfers. Als u echte getallen moet opslaan, probeer dan altijd dit type te gebruiken. "

" char is een hybride type. De waarden kunnen zowel worden geïnterpreteerd als getallen (die kunnen worden opgeteld of afgetrokken) als tekens. Dit is mogelijk omdat zelfs als tekens een visuele weergave hebben, de computer ze voornamelijk als getallen ziet. En het is handiger om ze als getallen te behandelen. Nog een ding: het tekentype is altijd positief. Het kan geen negatieve waarden bevatten. "

"Het booleaanse type is een logisch type dat slechts twee waarden kan opslaan: true of false  . "

"Ondanks zijn aanwezigheid in deze grafiek, is het objecttype geen primitief type. Het is de basisklasse voor alle klassen in Java. Ten eerste zijn alle klassen ervan afgeleid en bevatten daarom de methoden. Ten tweede kan een objectvariabele referenties opslaan. naar objecten van elk type, inclusief null ( een null- referentie)."

"Ik heb veel geleerd vandaag. Bedankt voor de les, Rishi."