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

"हाय, एली!"

"आज मी चांगला मूडमध्ये आहे, म्हणून मला तुम्हाला काहीतरी मनोरंजक सांगावेसे वाटते. मी जावाची टाइप सिस्टीम आदिम प्रकारांशी कसे व्यवहार करते ते सुरू करेन."

" Java मध्ये, प्रत्येक ऑब्जेक्ट आणि प्रत्येक व्हेरिएबलचा स्वतःचा प्रीसेट न बदलता येणारा प्रकार असतो. प्रोग्रॅम संकलित केल्यावर प्रिमिटिव्ह व्हेरिएबलचा प्रकार निर्धारित केला जातो, परंतु ऑब्जेक्टचा प्रकार तो तयार केल्यावर निर्धारित केला जातो. नव्याने तयार केलेल्या ऑब्जेक्टचा आणि/किंवा व्हेरिएबलचा प्रकार त्याच्या जीवनकाळात अपरिवर्तित राहते. येथे एक उदाहरण आहे:"

जावा कोड वर्णन
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;
d०.७१४२८५७१४२८५७१४३ असेल

"समजले."