"हाय, अमीगो!"

"हाय, ऐली!"

"मैं आज एक अच्छे मूड में हूं, इसलिए मैं आपको कुछ दिलचस्प बताना चाहता हूं। मैं शुरुआत करता हूं कि जावा का टाइप सिस्टम आदिम प्रकारों से कैसे निपटता है।"

" जावा में, प्रत्येक वस्तु और प्रत्येक चर का अपना पूर्व निर्धारित अपरिवर्तनीय प्रकार होता है। एक आदिम चर का प्रकार निर्धारित किया जाता है जब प्रोग्राम संकलित किया जाता है, लेकिन एक वस्तु का प्रकार निर्धारित किया जाता है जब इसे बनाया जाता है। एक नव निर्मित वस्तु और/या चर का प्रकार अपने जीवनकाल के दौरान अपरिवर्तित रहता है। यहाँ एक उदाहरण है:"

जावा कोड विवरण
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 होगा

"समझ गया।"