"Hej, Amigo!"
"Hej Ellie!"
"Jag är på bra humör idag, så jag känner för att berätta något intressant. Jag börjar med hur Javas typsystem hanterar primitiva typer."
" I Java har varje objekt och varje variabel sin egen förinställda oföränderliga typ. En primitiv variabels typ bestäms när programmet kompileras, men ett objekts typ bestäms när det skapas. Typen av ett nyskapat objekt och/eller variabel förblir oförändrad under dess livstid. Här är ett exempel:"
Java-kod | Beskrivning |
---|---|
|
a / b – representerar heltalsdivision. Svaret är två. Resten från divisionsoperationen ignoreras helt enkelt. |
|
d kommer att lagra resten av heltals division av a med b . Resten är 3. |
"Det finns ett par intressanta nyanser som du måste komma ihåg."
"För det första pekar en referensvariabel inte alltid på ett värde som har samma typ som den har."
"För det andra, när variabler med två olika typer interagerar måste de först omvandlas till samma typ."
"Vad sägs om division? Om vi delar 1 med 3 får vi 0,333(3). Visst?"
"Nej, det är inte rätt. När vi delar två heltal blir resultatet också ett heltal. Om du delar 5 med 3 blir svaret 1 med två som resten. Och resten kommer att ignoreras."
"Om vi delar 1 med 3 får vi 0 (med påminnelse 1, som kommer att ignoreras)."
"Men vad gör jag om jag vill få 0,333?"
"I Java, innan du utför division, är det bäst att konvertera ett tal till en flyttalstyp (bråktal) genom att multiplicera med ett flyttal nummer ett (1.0)."
Java-kod | Beskrivning |
---|---|
|
a blir 0 |
|
d blir 0,0 |
|
d kommer att vara 0,333(3) |
|
d kommer att vara 0,333(3) |
|
d kommer att vara 0,7142857142857143 |
"Jag fattar."
GO TO FULL VERSION