"Hallo Amigo!"

"Hallo, Ellie!"

"Ik ben in een goede bui vandaag, dus ik heb zin om je iets interessants te vertellen. Ik zal beginnen met hoe Java's typesysteem omgaat met primitieve typen."

" In Java heeft elk object en elke variabele zijn eigen vooraf ingestelde onveranderlijke type. Het type van een primitieve variabele wordt bepaald wanneer het programma wordt gecompileerd, maar het type van een object wordt bepaald wanneer het wordt gemaakt. Het type van een nieuw gemaakt object en/of variabele blijft in de loop van zijn levensduur onveranderd. Hier is een voorbeeld:"

Java-code Beschrijving
int a = 11;
int b = 5;
int c = a / b; // c == 2
a / b- staat voor deling door gehele getallen. Het antwoord is twee. De rest van de delingsbewerking wordt gewoon genegeerd.
int a = 13;
int b = 5;
int d = a % b; // d == 3
dslaat de rest van de deling door een geheel getal aop b. De rest is 3.

"Er zijn een paar interessante nuances die je moet onthouden."

"Ten eerste wijst een referentievariabele niet altijd naar een waarde die van hetzelfde type is."

"Ten tweede, wanneer variabelen met twee verschillende typen interactie hebben, moeten ze eerst worden omgezet in hetzelfde type."

"Hoe zit het met delen? Als we 1 delen door 3, krijgen we 0,333(3). Klopt?"

"Nee, dat klopt niet. Als we twee gehele getallen delen, is het resultaat ook een geheel getal. Als je 5 door 3 deelt, is het antwoord 1 met als rest twee. En de rest wordt genegeerd."

"Als we 1 door 3 delen, krijgen we 0 (met herinnering 1, die wordt genegeerd)."

"Maar wat moet ik doen als ik 0,333 wil halen?"

"In Java is het, voordat u deling uitvoert, het beste om een ​​getal om te zetten in een drijvende-komma (fractionele) type door te vermenigvuldigen met een drijvende-kommagetal één (1,0)."

Java-code Beschrijving
int a = 1/3;
azal 0 zijn
double d = 1/3;
 d wordt 0,0
double d = 1.0 / 3;
dwordt 0,333(3)
double d = 1 / 3.0;
dwordt 0,333(3)
int a = 5, b = 7;
double d = (a * 1.0) / b;
dwordt 0,7142857142857143

"Begrepen."