"வணக்கம், அமிகோ!"

"ஹாய், எல்லி!"

"இன்று நான் நல்ல மனநிலையில் இருக்கிறேன், அதனால் உங்களுக்கு சுவாரஸ்யமான ஒன்றைச் சொல்ல விரும்புகிறேன். பழமையான வகைகளை ஜாவாவின் வகை அமைப்பு எவ்வாறு கையாள்கிறது என்பதில் இருந்து தொடங்குகிறேன்."

" ஜாவாவில், ஒவ்வொரு பொருளுக்கும் ஒவ்வொரு மாறிக்கும் அதன் சொந்த முன்னமைக்கப்பட்ட மாறாத வகை உள்ளது. நிரல் தொகுக்கப்படும் போது ஒரு பழமையான மாறியின் வகை தீர்மானிக்கப்படுகிறது, ஆனால் ஒரு பொருளின் வகை அது உருவாக்கப்படும் போது தீர்மானிக்கப்படுகிறது. புதிதாக உருவாக்கப்பட்ட பொருள் மற்றும்/அல்லது மாறியின் வகை வாழ்நாள் முழுவதும் மாறாமல் இருக்கும். இங்கே ஒரு உதாரணம்:"

ஜாவா குறியீடு விளக்கம்
int a = 11;
int b = 5;
int c = a / b; // c == 2
a / b- முழு எண் பிரிவைக் குறிக்கிறது. பதில் இரண்டு. பிரிவு செயல்பாட்டிலிருந்து மீதமுள்ளவை வெறுமனே புறக்கணிக்கப்படுகின்றன.
int a = 13;
int b = 5;
int d = a % b; // d == 3
daஆல் முழு எண் பிரிவின் மீதியை சேமிக்கும் b. மீதி 3.

"நீங்கள் நினைவில் கொள்ள வேண்டிய இரண்டு சுவாரஸ்யமான நுணுக்கங்கள் உள்ளன."

"முதலாவதாக, ஒரு குறிப்பு மாறி எப்போதும் அதே வகையைக் கொண்ட மதிப்பை சுட்டிக்காட்டாது."

"இரண்டாவதாக, இரண்டு வெவ்வேறு வகைகளைக் கொண்ட மாறிகள் தொடர்பு கொள்ளும்போது, ​​அவை முதலில் ஒரே வகையாக மாற்றப்பட வேண்டும்."

"வகுத்தல் பற்றி என்ன? 1 ஐ 3 ஆல் வகுத்தால், நமக்கு 0.333(3) கிடைக்கும். சரியா?"

"இல்லை, அது சரியல்ல. இரண்டு முழு எண்களை வகுத்தால், முடிவும் ஒரு முழு எண்ணாகும். 5-ஐ 3-ஆல் வகுத்தால், விடை 1-ஐயும் இரண்டு மீதியாகவும் இருக்கும். மீதியானது புறக்கணிக்கப்படும்."

"1 ஐ 3 ஆல் வகுத்தால், நமக்கு 0 கிடைக்கும் (நினைவூட்டல் 1 உடன், இது புறக்கணிக்கப்படும்)."

"ஆனால் நான் 0.333 ஐப் பெற விரும்பினால் நான் என்ன செய்ய வேண்டும்?"

"ஜாவாவில், பிரிவைச் செய்வதற்கு முன், மிதக்கும் புள்ளி எண் ஒன்றால் (1.0) பெருக்குவதன் மூலம் ஒரு எண்ணை மிதக்கும் புள்ளி (பிரிவு) வகையாக மாற்றுவது சிறந்தது."

ஜாவா குறியீடு விளக்கம்
int a = 1/3;
a0 ஆக இருக்கும்
double d = 1/3;
 d 0.0 ஆக இருக்கும்
double d = 1.0 / 3;
d0.333(3)
double d = 1 / 3.0;
d0.333(3)
int a = 5, b = 7;
double d = (a * 1.0) / b;
d0.7142857142857143 ஆக இருக்கும்

"அறிந்துகொண்டேன்."