"और अब सबसे दिलचस्प भाग के लिए। मैं आपको प्रकार रूपांतरणों के बारे में बताता हूँ। चर अपने प्रकार नहीं बदल सकते हैं, लेकिन एक जगह है जहाँ आप प्रकारों को परिवर्तित कर सकते हैं। वह स्थान एक असाइनमेंट ऑपरेशन है "

"आप विभिन्न प्रकार के वेरिएबल्स को एक दूसरे को असाइन कर सकते हैं। ऐसा करने में, एक वेरिएबल (एक विशेष प्रकार का) का मान दूसरे प्रकार के मान में परिवर्तित हो जाता है और दूसरे वेरिएबल को असाइन किया जाता है। "

"हम दो प्रकार के रूपांतरणों को इंगित कर सकते हैं: आदिम रूपांतरणों को चौड़ा करना और आदिम रूपांतरणों को संकुचित करना। चौड़ा करना चीजों को एक छोटी टोकरी से एक बड़ी टोकरी में ले जाने जैसा है। प्रक्रिया अचूक और दर्द रहित है और उन्हें छोटे वाले में रखना। जब आप ऐसा करते हैं तो आपके पास पर्याप्त जगह नहीं हो सकती है; आपको कुछ बाहर फेंकना पड़ सकता है। "

"यहां उनके 'बास्केट' आकार के अनुसार सॉर्ट किए गए प्रकार हैं:"

रूपांतरण टाइप करें

"बस कुछ टिप्पणियाँ:

1. char की टोकरी छोटे आकार की टोकरी के समान होती है, लेकिन आप चीजों को एक से दूसरे में स्वतंत्र रूप से स्थानांतरित नहीं कर सकते। जब आप मानों को शॉर्ट से चार में ले जाते हैं , तो 0 से कम वाले मान हमेशा खो जाएंगे। जब आप मानों को चार से छोटे में ले जाते हैं, तो 32,000 से अधिक मान खो जाएंगे।

2. जब आप पूर्णांकों को भिन्नात्मक संख्याओं में बदलते हैं, तो संख्या के सबसे कम महत्वपूर्ण अंक बाहर हो सकते हैं। हालांकि, यह स्वीकार्य है, क्योंकि आंशिक संख्या का उद्देश्य अनुमानित मूल्य को संग्रहित करना है।"

" संकीर्ण रूपांतरण करते समय, हमें संकलक को स्पष्ट रूप से बताना चाहिए कि हमने कोई त्रुटि नहीं की है: हम उद्देश्य पर संख्या का हिस्सा छोड़ रहे हैं। हम ऐसा करने के लिए एक कास्ट ऑपरेटर ( यानी कोष्ठक में टाइप नाम ) का उपयोग करते हैं।"

"इस प्रकार आपको विभिन्न प्रकार के चर असाइन करना चाहिए:"

जावा कोड विवरण
byte a = 115;
int b = a;
आदिम रूपांतरण को चौड़ा करना। सब कुछ महान है।
int c = 10000;
byte d = (byte) c;
आदिम रूपांतरण को कम करनाहमें स्पष्ट रूप से बताना चाहिए कि अतिरिक्त बाइट्स को छोड़ दिया जाना चाहिए।
int c = 10;
byte d = (byte) c;
आदिम रूपांतरण को कम करना। हमें स्पष्ट रूप से बताना चाहिए कि अतिरिक्त बाइट्स को छोड़ दिया जाना चाहिए, भले ही वे 0 के बराबर हों।
float f = 10000;
long l = (long) (f * f);
float f2 = l;
long l2 = (long) f2;
एक फ्लोट को असाइन करते समय, एक व्यापक आदिम रूपांतरण होता है। जब एक फ्लोट को लंबे समय तक असाइन किया जाता है, तो एक संकीर्ण आदिम रूपांतरण होता है। एक कास्ट ऑपरेटर की आवश्यकता है।
double d = 1;
float f = (float) d;
long l = (long) f;
int i = (int) l;
short s = (short) i;
byte b = (byte) s;
पहली पंक्ति को छोड़कर सभी असाइनमेंट ऑपरेशंस में रूपांतरणों को सीमित करना। इन रूपांतरणों के लिए आवश्यक है कि हम स्पष्ट रूप से प्रकार रूपांतरण का संकेत दें।

" एक कास्ट ऑपरेटर को किसी संख्या/वैरिएबल से पहले रखा जाना चाहिए, किसी भी समय संख्या का हिस्सा छोड़ दिया जाएगा या जब एक संकीर्ण आदिम रूपांतरण होता है। कास्ट ऑपरेटर केवल उस संख्या/वैरिएबल को प्रभावित करता है जो सीधे इसका अनुसरण करता है।"

जावा कोड विवरण
float f = 10000;
long l = (long) f * f;
दो चरों में से केवल एक को लंबे समय तक डाला जाता है: एक लंबे और एक फ्लोट का गुणन एक फ्लोट के बराबर होता है।
float f = 10000;
long l = (long) (f * f);
पूरी अभिव्यक्ति लंबे समय तक डाली जाती है।

"अच्छा ऐसा है।"