Java में कंपाइल
एक छोटी शिक्षण फाइल compile करें और जो class फाइल बनती है उसे चलाएँ। Build.java में सार्वजनिक class Build रखें, पहली डेमो पर ok प्रिंट करें, फाइल बदलने और दोबारा compile करने के बाद दूसरी डेमो पर ok और built प्रिंट करें। javac Build.java चलाएँ ताकि स्रोत के बगल में Build.class दिखे। java Build चलाएँ — java Build.java नहीं। Mini Project अगली पेज के लिए छोड़ दें। यह पाठ compile-और-run की आदत सिखाता है, दिखाई देने वाली .class फाइल के साथ — नया library कॉल नहीं, कोर्स समापन नहीं।
एक बार compile करें, फिर class चलाएँ
Build.java खोलें। सार्वजनिक class का नाम Build रखें। बची हुई Recap Summary डेमो, बची हुई Dice Random रोल, बची हुई Stamp तारीख प्रिंट, और कोई keyboard Scanner जो टाइप की प्रतीक्षा करे हटा दें। प्रोग्राम को इनपुट की प्रतीक्षा नहीं करनी चाहिए।
Build.main के अंदर एक छोटा शब्द प्रिंट करें:
System.out.println("ok");
जिस फ़ोल्डर में Build.java है वहीं से javac Build.java चलाएँ। जब ब्रेस और सेमीकोलन मेल खाते हैं, javac अपनी कोई लाइन नहीं लिखता। यह स्रोत के बगल में Build.class लिखता है। वही .class फाइल Java launcher लोड करता है।
फिर java Build चलाएँ। रन कमांड से .java अंत हटाएँ। एक सार्वजनिक class रखें ताकि नाम Build से मेल खाए। स्क्रीन पर ok दिखता है।
public class Build {
public static void main(String[] args) {
System.out.println("ok");
}
}
एक बार रन चलाकर देखें। javac Build.java पढ़ता है और Build.class लिखता है। java Build Build.class लोड करता है, Build.main से शुरू करता है, और ok प्रिंट करता है। कुछ भी new Random(42) नहीं बनाता। Recap से ready 42 नहीं प्रिंट करता। कोई कैलेंडर दिन जम नहीं होता।
फ़ोल्डर देखते हुए शुरुआती नियम कहें: स्रोत .java पर समाप्त होता है, bytecode .class पर, compile javac से, रन java और class नाम से। इस पेज पर Mini Project न गढ़ें। Mini Project अगले पाठ का इंतज़ार करता है। java Build.java टाइप न करें — यह रन आकार इस कोर्स पथ पर गलत है।
अगर बची हुई Recap फाइल से अभी भी ready 42 दिखे, तो Build.java पर जाएँ और javac Build.java के बाद java Build चलाएँ। अगर javac त्रुटि दे, स्रोत ठीक करें और चलाने से पहले फिर compile करें। अगर रन कहे कि मुख्य class Build नहीं मिली या लोड नहीं हो सकी, पुष्टि करें कि आप उसी फ़ोल्डर में हैं जहाँ Build.class है और compile सफल हुआ।
स्रोत बदलें, फिर compile करें
पहली डेमो एक सफल compile साबित करती है। दूसरी डेमो साबित करती है कि स्क्रीन बदलने से पहले ताज़ा javac चाहिए। वही सार्वजनिक class Build रखें। दो लाइनें प्रिंट करें:
System.out.println("ok");
System.out.println("built");
फाइल सेव करें। Build.class फिर लिखने के लिए javac Build.java दोबारा चलाएँ। फिर java Build चलाएँ। स्क्रीन पर ok, फिर built दिखता है।
अगर स्रोत बदलकर javac छोड़ दें, तो java Build पुरानी .class से अभी भी केवल ok दिखा सकता है। वह पुरानी स्क्रीन कंपाइलिंग का पाठ है, Random का नहीं। इस पेज पर हर सहेजी गई एडिट के बाद compile करें।
public class Build {
public static void main(String[] args) {
System.out.println("ok");
System.out.println("built");
}
}
javac Build.java से compile करें और java Build फिर चलाएँ। एक बार रन चलाकर देखें। नई .class फाइल में दोनों print लाइनें हैं। पहली ok लिखती है। दूसरी built लिखती है। कुछ भी keyboard की प्रतीक्षा नहीं करता। कोई seed स्टोर नहीं होता। ready और 42 जोड़ता नहीं।
दोनों डेमो को दो शिक्षण आकार रखें। पहले साफ compile के बाद एक लाइन साबित करें। फिर दोबारा compile के बाद दो लाइनें। दोनों आकार में वही class नाम और वही कमांड। दूसरे आकार में बस एक और println जुड़ता है।
अगर Build.class हटाकर बिना compile java Build चलाएँ, launcher विफल होता है क्योंकि bytecode गायब है। Build.class वापस लाने के लिए फिर compile करें। अगर दो सार्वजनिक class एक फाइल में हों, javac शिकायत करता है — शिक्षण फाइल में केवल Build सार्वजनिक रखें।
javac बनाम java
ये दो कमांड मिलती-जुलती दिखती हैं और अलग काम करती हैं। अभ्यास के दौरान इन्हें अलग रखें।
📊 Compile and run habits for Build
| Command | Job | Beginner check |
|---|---|---|
javac Build.java |
reads source, writes Build.class |
success is often silent; look for the .class file |
java Build |
loads Build.class and starts main |
no .java ending on this command |
java Build.java |
wrong shape for this lesson | fix the command; do not treat it as the teaching run |
Skip javac after an edit |
old bytecode may still run | stale screen means compile again |
Missing Build.class |
run cannot load the class | run javac Build.java first |
कंपाइलिंग Summary नहीं और Mini Project नहीं
Summary ने Recap से ready 42 समझाने को कहा था। कंपाइलिंग आपसे javac को bytecode लिखते और java को लोड करते देखने को कहती है। Mini Project अगली पेज पर आपका छोटा प्रोग्राम बनवाएगा। आज इन तीन कामों को एक शुरुआती फाइल में न मिलाएँ।
ok और built केवल इस शिक्षण फाइल के स्क्रीन शब्द हैं। Random के चेहरे या Summary की पंक्ति नहीं। बची हुई Dice फाइल पर Random import गायब हो तो वह समस्या Random अभ्यास की है, कंपाइलिंग की नहीं। Recap अभी भी ready 42 प्रिंट करे तो उस फाइल को इतिहास मानें और स्क्रीन पर Build रखें।
javac के बिना आपके नवीनतम स्रोत के लिए ताज़ी .class नहीं बनती। सही java Build कमांड के बिना शायद class लोड ही न हो। दोनों चरण रखें। class नाम फाइल से मेल खाए। Mini Project की फाइलें इस पेज से उस पाठ तक बाहर रखें।
आगे बढ़ने से पहले फ़ोल्डर जाँच
सफल compile के बाद फ़ोल्डर सूचीबद्ध करें। Build.java और Build.class साथ दिखने चाहिए। स्रोत वह है जिसे आप एडिट करते हैं। class फाइल वह है जिसे आप चलाते हैं। शुरुआती कभी गलत फाइल एडिट करते हुए स्क्रीन का पीछा करते हैं — Build.java खोलें, सेव करें, compile करें, फिर चलाएँ।
अगर javac को Build.java न मिले, वर्तमान फ़ोल्डर और फाइल नाम की वर्तनी जाँचें, बड़े B सहित। अगर रन कुछ न प्रिंट करे, पुष्टि करें कि main में अभी भी println लाइनें हैं। built जोड़ने के बाद भी स्क्रीन पर केवल ok हो तो संभवतः दूसरा compile छूट गया।
कंपाइलिंग को package ट्री या jar पैकेजिंग गढ़ने की जगह न मानें। वे विषय बाद में हैं। यह पेज एक सार्वजनिक class, दो साफ स्क्रीन, और javac / java जोड़ी रखती है।
Mini Project से पहले
आप सार्वजनिक class Build रख सकते हैं, पहली डेमो पर ok प्रिंट कर सकते हैं, दूसरी पर ok फिर built, javac Build.java से compile कर सकते हैं, Build.class देख सकते हैं, और .java अंत के बिना java Build चला सकते हैं। तालिका compile और रन अलग करती है। अगली पेज Mini Project है, जहाँ आप पहले से मौजूद टुकड़ों से छोटा प्रोग्राम बनाएँगे।
Build डेमो को साफ compile-और-run जोड़ी के लिए रखें। कंपाइलिंग अभ्यास करते समय Recap Summary फाइलें इस पेज से दूर रखें। कंपाइलिंग अभ्यास करते समय Random पासा डेमो इस पेज से दूर रखें। Mini Project का काम उस पाठ तक इस पेज से बाहर रखें। ये आदतें आगे बढ़ने से पहले चेकपॉइंट हैं। एक-लाइन स्क्रीन पर ok या दो-लाइन पर ok फिर built दिखे तो कंपाइलिंग ने अपना काम किया और आप Mini Project के लिए तैयार हैं।
फ़ोल्डर में आखिरी बार: एक सार्वजनिक Build, javac के बाद Build.class मौजूद, keyboard प्रतीक्षा नहीं, मजबूर Random या LocalDate import नहीं, रन कमांड में .java नहीं। जो डेमो खुली रखें उस पर एक बार और javac Build.java और java Build चलाएँ। स्क्रीन पर अभी भी ok या ok फिर built दिखे तो कंपाइलिंग का आकार मजबूत है और कोर्स अगली पेज पर Mini Project की ओर जा सकता है। हर पढ़ाई में एक स्पष्ट compile आदत रखें ताकि हर बार वही नक्शा सिखे।
🧠 अपने ज्ञान की परीक्षा करें
अपने ज्ञान की परीक्षा करें
इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं
📝 निर्देश
- हर प्रश्न को ध्यान से पढ़ें
- हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
- आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
- आपकी प्रगति शीर्ष पर दिखाई जाएगी