यह अपने कार्यक्रम के बराबर कार्यक्रम है:
public class Tester {
public static void main(String args[]){
char start='\u0041';
char next='\u0041'+1;
System.out.println(next);
}
}
लेकिन जैसा कि आप देख, next=start+1
, काम नहीं करेगा। जावा जिस तरह से हैंडल करता है।
कारण हो सकता है कि हम गलती से start
उपयोग कर सकते हैं यह सोच कर कि start
एक int
चर है पूर्णांक 1
साथ, और कहा कि अभिव्यक्ति का उपयोग करें। चूंकि, जावा तार्किक त्रुटियों को कम करने के बारे में इतना सख्त है। उन्होंने मुझे इस तरह से डिजाइन किया।
लेकिन, जब आप करते हैं, यह स्पष्ट है कि '\u0041'
एक वर्ण है और 1
को पूर्ण रूप से 2 बाइट में परिवर्तित किया जाएगा। प्रोग्रामर द्वारा यह कोई गलती नहीं की जा सकती है। हो सकता है कि यही कारण है कि उन्होंने इसे अनुमति दी है।
char
जावा में 2 बाइट्स है। char
unicode
वर्णों का समर्थन करता है। जब आप ऑफ़सेट पूर्णांक वाले char var को जोड़ते या घटाते हैं, तो यूनिकोड तालिका में समतुल्य unicode
वर्ण का परिणाम होगा। चूंकि, B
A
के बगल में है, तो आपको B
मिल गया है।
'x'' 'बी' का यूनिकोड मान है और '' ए '+ 1 –
का यूनिकोड मान आप चार के एएससीआईआई कोड में int जोड़ रहे हैं, न कि चारों ओर। – Maroun
मेरी इच्छा है कि हम जावा के संदर्भ में _ASCII_ शब्द से छुटकारा पा सकें। जावा 1 99 5 से आसपास रहा है और पूरे समय यूनिकोड का उपयोग कर रहा है। #Grumpymorning। –