"Hej, Amigo!"

"Hej, Ellie!"

"Jeg er i godt humør i dag, så jeg har lyst til at fortælle dig noget interessant. Jeg starter med, hvordan Javas typesystem håndterer primitive typer."

" I Java har hvert objekt og hver variabel sin egen forudindstillede, uforanderlige type. En primitiv variabels type bestemmes, når programmet kompileres, men et objekts type bestemmes, når det oprettes. Typen af ​​et nyoprettet objekt og/eller variabel forbliver uændret i løbet af sin levetid. Her er et eksempel:"

Java kode Beskrivelse
int a = 11;
int b = 5;
int c = a / b; // c == 2
a / b– repræsenterer heltalsdeling. Svaret er to. Resten fra divisionsoperationen ignoreres simpelthen.
int a = 13;
int b = 5;
int d = a % b; // d == 3
dvil gemme resten af ​​heltals division af amed b. Resten er 3.

"Der er et par interessante nuancer, som du skal huske."

"For det første peger en referencevariabel ikke altid på en værdi, der har den samme type, som den har."

"For det andet, når variabler med to forskellige typer interagerer, skal de først konverteres til den samme type."

"Hvad med division? Hvis vi dividerer 1 med 3, får vi 0,333(3). Ikke?"

"Nej, det er ikke rigtigt. Når vi dividerer to heltal, er resultatet også et heltal. Hvis du dividerer 5 med 3, vil svaret være 1 med to som resten. Og resten vil blive ignoreret."

"Hvis vi dividerer 1 med 3, får vi 0 (med påmindelse 1, som vil blive ignoreret)."

"Men hvad gør jeg, hvis jeg vil have 0,333?"

"I Java, før du udfører division, er det bedst at konvertere et tal til en flydende-komma (brøk) type ved at gange med et flydende-komma nummer et (1.0)."

Java kode Beskrivelse
int a = 1/3;
avil være 0
double d = 1/3;
 d vil være 0,0
double d = 1.0 / 3;
dvil være 0,333(3)
double d = 1 / 3.0;
dvil være 0,333(3)
int a = 5, b = 7;
double d = (a * 1.0) / b;
dvil være 0,7142857142857143

"Forstået."