char c1 = 123; //Compiles fine
char c2 = 123456; //Error: cannot convert from int to char
जावा बहुत चालाक निर्धारित करने के लिए एक पूर्णांक काफी छोटा एक चरित्र को परिवर्तित किया है या नहीं। यह बहुत ही कम फ्लोटिंग पॉइंट अक्षर को एक फ्लोट में परिवर्तित करने में सक्षम क्यों नहीं है? उदाहरण के लिए:चार सी = कुछ पूर्णांक अक्षर संकलित हो सकता है लेकिन फ्लोट एफ = कुछ फ़्लोटिंग पॉइंट शाब्दिक कभी संकलित नहीं होगा। क्यूं कर?
float f1 = 0.3; //Error: cannot convert from double to float
float f2 = 0.3f; //Compiles fine
चार c = कुछ पूर्णांक शाब्दिक संकलन लेकिन नाव च सकता है = कुछ चल बिन्दु शाब्दिक संकलन कभी नहीं होगा। क्यूं कर?
पुनश्च: मैं, जानते हैं कि एक चल बिन्दु शाब्दिक डिफ़ॉल्ट
संभावित डुप्लिकेट [जावा: आपको फ्लोट शाब्दिक में 'एफ "निर्दिष्ट करने की आवश्यकता क्यों है?] (Http://stackoverflow.com/questions/14102955/java-why-do-you-need- टू-निर्दिष्ट-ए-इन-ए-फ्लोट-शाब्दिक) – RealSkeptic
मेरा प्रश्न फ़्लोटिंग पॉइंट अक्षर में 'एफ' के बारे में नहीं है। यह एक मामले में किसी भी समस्या के बिना एक छोटे डेटा प्रकार को परिवर्तित करने के तरीके के बारे में है (चार से int, 32 बिट्स से 16 बिट्स) जबकि यह दूसरे मामले में एक संकलन त्रुटि देता है (डबल टू फ्लोट, 64 बिट्स 32 बिट्स)। शाब्दिक छोटा फ्लोट वैरिएबल फिट करने के लिए पर्याप्त छोटा है जैसे int छोटा था char फिट करने के लिए पर्याप्त। @ RealSkeptic –
उत्तर अभी भी उस प्रश्न में है - सबसे अच्छा जवाब स्वीकार्य नहीं है, हालांकि – RealSkeptic