"Bună, Amigo!"

— Bună, Ellie!

"Sunt într-o dispoziție bună azi, așa că îmi vine să vă spun ceva interesant. Voi începe cu modul în care sistemul de tip Java se ocupă de tipurile primitive."

În Java, fiecare obiect și fiecare variabilă are propriul tip prestabilit neschimbabil. Tipul unei variabile primitive este determinat atunci când programul este compilat, dar tipul unui obiect este determinat când este creat. Tipul unui obiect și/sau variabilă nou creat. rămâne neschimbată pe parcursul vieții sale. Iată un exemplu:"

Cod Java Descriere
int a = 11;
int b = 5;
int c = a / b; // c == 2
a / b– reprezintă împărțirea întregului. Răspunsul este doi. Restul din operațiunea de divizare este pur și simplu ignorat.
int a = 13;
int b = 5;
int d = a % b; // d == 3
dva stoca restul diviziunii întregi a acu b. Restul sunt 3.

„Există câteva nuanțe interesante pe care trebuie să le reții.”

„În primul rând, o variabilă de referință nu indică întotdeauna o valoare care are același tip pe care îl are.”

„În al doilea rând, când variabilele cu două tipuri diferite interacționează, ele trebuie mai întâi convertite în același tip”.

"Ce zici de împărțire? Dacă împărțim 1 la 3, vom obține 0,333(3). Nu?"

"Nu, nu este corect. Când împărțim două numere întregi, rezultatul este, de asemenea, un număr întreg. Dacă împărțiți 5 la 3, răspunsul va fi 1 cu doi ca rest. Și restul va fi ignorat."

„Dacă împărțim 1 la 3, vom obține 0 (cu memento 1, care va fi ignorat).”

„Dar ce să fac dacă vreau să obțin 0,333?”

„În Java, înainte de a efectua împărțirea, cel mai bine este să convertiți un număr într-un tip în virgulă mobilă (fracțional) prin înmulțirea cu un număr în virgulă mobilă unu (1.0).”

Cod Java Descriere
int a = 1/3;
ava fi 0
double d = 1/3;
 d va fi 0,0
double d = 1.0 / 3;
dva fi 0,333(3)
double d = 1 / 3.0;
dva fi 0,333(3)
int a = 5, b = 7;
double d = (a * 1.0) / b;
dva fi 0,7142857142857143

"Am înţeles."