संपादित करें 1यदि आप + और ++ ऑपरेटरों के बीच की जगह को हटाते हैं तो क्या होता है?
अस्वीकरण: मुझे पता है कि+++
वास्तव में एक ऑपरेटर लेकिन स्पेस के बिना +
और ++
ऑपरेटरों नहीं है। मुझे यह भी पता है कि इसका उपयोग करने का कोई कारण नहीं है; यह सवाल सिर्फ जिज्ञासा से बाहर है।
तो, मैं अगर +
और ++var
के बीच की जगह जावा में आवश्यक है को देखने के लिए इच्छुक हूँ।
int i = 0;
System.out.println(i);
i = i +++i;
System.out.println(i);
यह बाहर प्रिंट:
0
1
जो के रूप में मैं, उम्मीद करेंगे बस के रूप में अगर वहाँ पहले और दूसरे +
के बीच एक रिक्ति थे काम करता है
यहाँ अपने परीक्षण कोड है।
फिर, मैं इसे स्ट्रिंग संयोजन के साथ करने की कोशिश की:
String s1 = "s " + ++i;
System.out.println(s1);
// String s2 = "s " +++i;
यह बाहर प्रिंट:
s 2
लेकिन अगर तीसरी लाइन uncommented है, कोड संकलन नहीं करता है, त्रुटि के साथ:
Problem3.java:13: unexpected type
required: variable
found : value
String s2 = "s " +++i;
^
Problem3.java:13: operator + cannot be applied to <any>,int
String s2 = "s " +++i;
^
स्ट्रिंग concatenation और पूर्णांक जोड़ने के बीच व्यवहार में अंतर क्या कारण है ition?
संपादित 2
के रूप में, Abhijit's follow-up question में चर्चा नियम यह है कि लोगों का उल्लेख किया है (बड़ा टोकन पहले पार्स किया जा ++, पहले छोटे टोकन ++) this presentation में चर्चा की है जहां यह प्रतीत होता है मन्ची मन्की नियम कहा जाता है।
क्या ट्रिपल प्लस acutually करता है:
और simmilary मैं = मैं मैं +++++ किया जाएगा; मान्य नहीं है लेकिन i = i ++ +++; है। – Jayamohan
चूंकि यह ऑपरेटर नहीं है, यह पूछता है कि यह कैसे काम करता है, यह समझ में नहीं आता है। असली सवाल नहीं है। – EJP
अनुवर्ती प्रश्न [क्या '+++' सिर्फ एक पोस्ट-फ़िक्स वृद्धि है जिसके बाद इंफिक्स (हमेशा) है?] (Http://stackoverflow.com/q/15382171/977038) – Abhijit