Java कोड को क्यों निष्पादित करता है जो Unicode के माध्यम से टिप्पणियों में छिपा होता है?
सभी को नमस्कार! मैंने हाल ही में Java सीखना शुरू किया है और एक अजीब व्यवहार देखा। मैं सरल कोड लिखता हूँ:
```java
public class Test {
public static void main(String[] args) {
// \u000d System.out.println("Hello from comment!");
System.out.println("Hello world");
}
}
```
मुझे उम्मीद थी कि यह कोड केवल "Hello world" प्रिंट करेगा, क्योंकि दूसरी पंक्ति एक comment है। लेकिन चलाने पर मुझे मिलता है:
```
Hello from comment!
Hello world
```
यह कैसे हो सकता है? मैंने सोचा कि comments को compiler पूरी तरह से अनदेखा करता है। comment के अंदर का कोड क्यों निष्पादित होता है? क्या यह compiler की गलती है या ऐसा जानबूझकर किया गया है?
मैंने Google किया, लेकिन एक beginner के लिए कोई स्पष्ट स्पष्टीकरण नहीं मिला। कृपया समझाएँ कि यह Unicode जादू कैसे काम करता है। और क्या कोड में ऐसे "आश्चर्य" से बचने का कोई तरीका है? पहले से धन्यवाद!
<<>>
संक्षिप्त उत्तर
Java Unicode-escape sequences (जैसे, \u000d) को संकलन के सबसे प्रारंभिक चरण में प्रोसेस करता है —