Java — भाषा जो बहुत कुछ माफ करती है, लेकिन सब कुछ नहीं
\n\nआपने किताब खोली, IntelliJ IDEA डाउनलोड किया और अपना पहला Hello, World! लिखा। बधाई हो! अब आप उस दुनिया में प्रवेश कर रहे हैं जहाँ सेमीकोलन कंपाइलेशन की किस्मत तय करते हैं, और null शब्द आपकी शाम खराब कर सकता है। Java एक शक्तिशाली, सख्त और बेहद तार्किक भाषा है। लेकिन यही तर्क अक्सर शुरुआती लोगों को परेशान करता है। क्यों? क्योंकि दिमाग "Python जैसा" या "JavaScript जैसा" चाहता है, और Java कहता है: "नहीं दोस्त, पहले टाइप घोषित करो।"
इस लेख में मैंने Java सीखने की सबसे आम गलतियाँ इकट्ठा की हैं जो शुरुआती करते हैं। हम हर गलती को वास्तविक उदाहरणों से समझेंगे, और सबसे ज़रूरी — मैं दिखाऊँगा कि उन्हें कैसे ठीक करें। अगर आपने अभी Java सीखना शुरू किया है — ध्यान से पढ़ें, इससे आपके डिबगिंग के घंटे बचेंगे।
\n\nगलती #1: डेटा टाइप्स को नज़रअंदाज़ करना
\n\nJava एक सख्त टाइप वाली भाषा है। इसका मतलब है कि आप किसी संख्या में स्ट्रिंग असाइन नहीं कर सकते। लेकिन शुरुआती अक्सर ऐसी हरकतें करने की कोशिश करते हैं:
\n\nint number = "42"; // कंपाइलेशन एरर!\n\nया इससे भी मज़ेदार:
\n\nString text = 42; // यह भी एरर\n\nPython या JavaScript में यह काम करता (लगभग)। Java में — नहीं। हर वेरिएबल को एक विशिष्ट टाइप के साथ घोषित करना होता है, और उसे चलते-फिरते बदला नहीं जा सकता।
\n\nसही तरीका क्या है?
\nटाइप कास्टिंग या कन्वर्ज़न मेथड का उपयोग करें:
\n\nint number = Integer.parseInt("42"); // अब काम करेगा\nString text = String.valueOf(42); // यह भी काम करेगा\n\nसुझाव: Java Core सीखते समय तुरंत टाइप्स के हिसाब से सोचने की आदत डालें। खुद से पूछें: "इस वेरिएबल का टाइप क्या है?" इससे 30% गलतियों से बच जाएँगे।
\n\nगलती #2: main भूल गए — और सब कुछ गिर गया
\n\nक्लासिक। शुरुआती एक क्लास लिखता है, उसमें मेथड बनाता है, रन करता है — और एरर देखता है:
\n\nError: Main method not found in class\n\nक्यों? क्योंकि JVM एक सख्त सिग्नेचर ढूँढता है:
\n\npublic static void main(String[] args)\n\nशुरुआती अक्सर लिखते हैं:
\n\npublic void main() // गलत!\nstatic void main() // यह भी गलत\n\nहमेशा याद रखें: public static void main(String[] args) — यह सिर्फ एक लाइन नहीं, बल्कि प्रोग्राम एक्ज़ीक्यूशन का द्वार है।
\n\nकाम करने वाले कोड का उदाहरण:
\npublic class HelloWorld {\n public static void main(String[] args) {\n System.out.println("नमस्ते, Java!");\n }\n}\n\nअगर आप IntelliJ IDEA का उपयोग कर रहे हैं, तो यह खुद एरर हाइलाइट करता है और सही main बनाने का सुझाव देता है। इसका फायदा उठाएँ।
गलती #3: == और .equals() में उलझन
\n\nयह शायद Java में शुरुआती लोगों की सबसे आम गलती है। वे स्ट्रिंग्स को == से तुलना करते हैं और हैरान होते हैं कि कंडीशन काम क्यों नहीं करती।
String a = new String("Java");\nString b = new String("Java");\n\nif (a == b) {\n System.out.println("बराबर हैं"); // प्रिंट नहीं होगा!\n}\n\nदरअसल, == ऑब्जेक्ट के रेफरेंस की तुलना करता है, उनकी सामग्री की नहीं। a और b मेमोरी में दो अलग-अलग ऑब्जेक्ट हैं।
कैसे ठीक करें?
\nif (a.equals(b)) {\n System.out.println("बराबर हैं"); // अब प्रिंट होगा\n}\n\nयह नियम याद रखें: प्रिमिटिव (int, double, boolean) को == से तुलना करें, ऑब्जेक्ट (String, Integer, अपनी क्लास) को .equals() से। यह विशेष रूप से कलेक्शन और Java एक्सेप्शन के साथ काम करते समय महत्वपूर्ण है।
गलती #4: NullPointerException देखकर घबराना
\n\nNullPointerException (NPE) — यह वह जानवर है जो सभी शुरुआती को डराता है। लेकिन असल में यह सिर्फ कहता है: "तुम उस ऑब्जेक्ट का मेथड कॉल कर रहे हो जो मौजूद ही नहीं है।"
उदाहरण:
\n\nString name = null;\nint length = name.length