- 1 1. परिचय
- 2 2. System.out.print और System.out.println के मूलभूत
- 3 3. System.out.printf के साथ फॉर्मेटेड आउटपुट
- 4 4. String.format के साथ काम करना
- 5 5. उन्नत तकनीकें
- 6 6. डिबगिंग और लॉगिंग के लिए व्यावहारिक उदाहरण
- 7 7. सामान्य गलतियाँ और जाल
- 8 8. सारांश
- 9 9. FAQ (अक्सर पूछे जाने वाले प्रश्न)
- 9.1 Q1. मैं केवल एक नई पंक्ति कैसे आउटपुट करूँ?
- 9.2 Q2. क्या print और println को मिलाने से अप्रत्याशित लाइन ब्रेक हो सकते हैं?
- 9.3 Q3. printf और String.format में क्या अंतर है?
- 9.4 Q4. क्या printf के साथ गैर-ASCII अक्षर सही ढंग से प्रदर्शित हो सकते हैं?
- 9.5 Q5. संख्यात्मक आउटपुट में दशमलव स्थानों की संख्या कैसे नियंत्रित करूँ?
- 9.6 Q6. एरे या सूची की सामग्री को स्पष्ट रूप से कैसे प्रदर्शित करूँ?
- 9.7 Q7. प्रोडक्शन रिलीज़ से पहले प्रिंट स्टेटमेंट्स के साथ मुझे क्या करना चाहिए?
- 9.8 Q8. आउटपुट को फ़ाइल में कैसे सहेजूँ?
1. परिचय
जावा में प्रोग्राम लिखते समय, सबसे अधिक उपयोग की जाने वाली ऑपरेशनों में से एक आउटपुट है। विशेष रूप से, कीवर्ड “प्रिंट” शुरुआती और उन्नत डेवलपर्स दोनों द्वारा व्यापक रूप से उपयोग किया जाता है, जो कंसोल पर संदेश प्रदर्शित करने, चर मानों की जांच करने, और डिबगिंग जैसे कई स्थितियों में दिखाई देता है।
इस लेख में, हम प्रतिनिधि जावा आउटपुट विधियों: print, println, और printf के अंतरों और उपयोग को स्पष्ट रूप से समझाएंगे। साधारण स्ट्रिंग आउटपुट के अलावा, हम संख्याओं, चरों, फॉर्मेटेड आउटपुट, और गैर-ASCII वर्णों वाले स्ट्रिंग्स को संभालने वाले व्यावहारिक कोड उदाहरणों को पेश करेंगे।
हम सामान्य प्रश्नों, सामान्य त्रुटियों, और उन्नत आउटपुट तकनीकों को भी कवर करेंगे। इससे यह लेख न केवल जावा शुरुआती लोगों के लिए उपयोगी होगा, बल्कि उन लोगों के लिए भी जो थोड़े समय बाद जावा पर लौट रहे हैं या प्रिंट-संबंधित विधियों के बीच अंतरों को लेकर अनिश्चित महसूस करते हैं।
इस लेख के अंत तक, आपके पास जावा आउटपुट विधियों का मजबूत समझ होगा—मूलभूत से उन्नत उपयोग तक—और आप अपने प्रोग्रामों का आउटपुट और डिबगिंग ठीक वैसा ही प्रदर्शित कर सकेंगे जैसा आप चाहते हैं।
2. System.out.print और System.out.println के मूलभूत
जावा में सबसे सामान्य रूप से उपयोग की जाने वाली आउटपुट विधियां System.out.print और System.out.println हैं। दोनों विधियां स्ट्रिंग्स या संख्यात्मक मानों को स्टैंडर्ड आउटपुट (आमतौर पर कंसोल) पर प्रदर्शित करती हैं, लेकिन मुख्य अंतर यह है कि क्या स्वचालित रूप से नई लाइन जोड़ी जाती है।
2-1. System.out.print का उपयोग कैसे करें
System.out.print निर्दिष्ट सामग्री को वैसा ही आउटपुट करता है, लेकिन स्वचालित रूप से नई लाइन नहीं जोड़ता। जब इसे कई बार निष्पादित किया जाता है, तो सभी आउटपुट एक ही लाइन पर दिखाई देते हैं।
System.out.print("Hello");
System.out.print("Java");
आउटपुट:
HelloJava
2-2. System.out.println का उपयोग कैसे करें
दूसरी ओर, System.out.println आउटपुट के बाद स्वचालित रूप से नई लाइन जोड़ता है। इससे सुनिश्चित होता है कि अगला आउटपुट नई लाइन पर शुरू हो।
System.out.println("Hello");
System.out.println("Java");
आउटपुट:
Hello
Java
2-3. चरों और संख्याओं का आउटपुट
दोनों विधियां न केवल स्ट्रिंग्स, बल्कि संख्याओं, चरों, और गणना परिणामों को भी आउटपुट कर सकती हैं। आप अल्पविराम से अलग किए गए कई मानों को पास नहीं कर सकते, लेकिन आप + ऑपरेटर का उपयोग करके मानों को जोड़ सकते हैं।
int num = 10;
String name = "Java";
System.out.println("The number is " + num + ", and the language is " + name + ".");
आउटपुट:
The number is 10, and the language is Java.
2-4. print बनाम println कब उपयोग करें
- print : जब आप मानों को बिना लाइन ब्रेक के एक ही लाइन पर लगातार प्रदर्शित करना चाहते हैं, तब उपयोग करें।
- println : जब आप आउटपुट को लाइन दर लाइन व्यवस्थित करना चाहते हैं, तब उपयोग करें।
इन मूलभूत अंतरों को महारत हासिल करने से जावा आउटपुट प्रसंस्करण बहुत स्पष्ट और अधिक कुशल हो जाएगा।
3. System.out.printf के साथ फॉर्मेटेड आउटपुट
System.out.printf आपको फॉर्मेट स्पेसिफायर्स कहलाने वाले विशेष प्रतीकों का उपयोग करके आउटपुट को फॉर्मेट करने की अनुमति देता है। इससे अंकों को संरेखित करना, दशमलव स्थानों को नियंत्रित करना, और कई मानों को साफ और पढ़ने योग्य फॉर्मेट में प्रदर्शित करना संभव हो जाता है।
3-1. मूलभूत उपयोग
System.out.printf("format", value1, value2, ...);
पहला तर्क बताता है कि आउटपुट को कैसे फॉर्मेट किया जाना चाहिए, और बाद के तर्क मान प्रदान करते हैं।
int age = 25;
String name = "Sato";
System.out.printf("%s is %d years old.", name, age);
आउटपुट:
Sato is 25 years old.
%s: स्ट्रिंग%d: पूर्णांक
3-2. सामान्य फॉर्मेट स्पेसिफायर्स
| Specifier | Description | Example |
|---|---|---|
%d | Integer (decimal) | %d → 10 |
%f | Floating-point number | %f → 3.141593 |
%s | String | %s → “Java” |
दशमलव स्थानों को निर्दिष्ट करना:
double pi = 3.14159;
System.out.printf("Pi is %.2f.", pi);
आउटपुट:
Pi is 3.14.
%.2fका अर्थ है दो दशमलव स्थानों तक प्रदर्शित करें।
3-3. संरेखण और पैडिंग
आप संख्याओं और स्ट्रिंग्स की चौड़ाई निर्दिष्ट करके आउटपुट को साफ-सुथरा संरेखित कर सकते हैं।
System.out.printf("%-10s : %5d\n", "Apple", 120);
System.out.printf("%-10s : %5d\n", "Orange", 80);
आउटपुट:
Apple : 120
Orange : 80
%10s: 10 वर्णों के अंदर दाहिनी ओर संरेखित%-10s: 10 वर्णों के अंदर बायीं ओर संरेखित%5d: चौड़ाई 5 के साथ दाहिनी ओर संरेखित पूर्णांक
3-4. printf बनाम print / println
- print / println : सरल आउटपुट, त्वरित प्रदर्शन के लिए उपयुक्त।
- printf : रिपोर्ट या टेबुलर डेटा के लिए आदर्श जहां फॉर्मेटिंग महत्वपूर्ण है।
4. String.format के साथ काम करना
String.format printf के समान ही फॉर्मेटिंग तंत्र का उपयोग करता है, लेकिन सीधे प्रिंट करने के बजाय, यह एक फॉर्मेटेड स्ट्रिंग लौटाता है। इस स्ट्रिंग को चरों में संग्रहीत किया जा सकता है, फाइलों में लिखा जा सकता है, या बाद में पुन: उपयोग किया जा सकता है।
4-1. String.format का मूल उपयोग
String.format("format", value1, value2, ...) एक नई फॉर्मेटेड स्ट्रिंग लौटाता है।
String name = "Tanaka";
int score = 95;
String message = String.format("%s scored %d points.", name, score);
System.out.println(message);
आउटपुट:
Tanaka scored 95 points.
4-2. printf और String.format के बीच अंतर
System.out.printf: मानक आउटपुट पर सीधे आउटपुट करता है (कोई रिटर्न वैल्यू नहीं)।String.format: एक स्ट्रिंग लौटाता है जिसे पुन: उपयोग या संयोजन किया जा सकता है।
4-3. फॉर्मेटेड स्ट्रिंग्स का पुन: उपयोग
String.format से बनाई गई फॉर्मेटेड स्ट्रिंग्स को कई बार पुन: उपयोग किया जा सकता है।
String logMessage = String.format("Error code: %04d", 7);
System.out.println(logMessage);
System.out.println(logMessage.toUpperCase());
आउटपुट:
Error code: 0007
ERROR CODE: 0007
4-4. अन्य APIs के साथ एकीकरण
String.format से बनाई गई स्ट्रिंग्स का उपयोग फाइल आउटपुट, लॉगिंग, या GUI प्रदर्शन के लिए किया जा सकता है। जब आपको तत्काल आउटपुट के बजाय बाद के उपयोग के लिए फॉर्मेटेड डेटा की आवश्यकता हो, तो String.format बेहतर विकल्प है।
5. उन्नत तकनीकें
जावा आउटपुट सरल स्ट्रिंग्स और संख्याओं तक सीमित नहीं है। वास्तविक दुनिया के परिदृश्यों में, आपको एरेज़, ऑब्जेक्ट्स प्रदर्शित करने या OS-निर्भर लाइन विभाजकों को संभालने की आवश्यकता हो सकती है। यह खंड उपयोगी उन्नत तकनीकों का परिचय देता है।
5-1. एरेज़ और लिस्ट्स का आउटपुट करना
जब आप print का उपयोग करके एरेज़ या संग्रहों को सीधे आउटपुट करते हैं, तो उनकी सामग्री अपेक्षित रूप से प्रदर्शित नहीं होती। एरेज़ के लिए, Arrays.toString() का उपयोग करें। लिस्ट्स के लिए, toString() डिफ़ॉल्ट रूप से काम करता है।
उदाहरण (एरेज़):
int[] numbers = {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(numbers));
आउटपुट:
[1, 2, 3, 4, 5]
import java.util.Arrays; को शामिल करना सुनिश्चित करें।
उदाहरण (लिस्ट):
List<String> fruits = Arrays.asList("Apple", "Orange", "Grape");
System.out.println(fruits);
आउटपुट:
[Apple, Orange, Grape]
6. डिबगिंग और लॉगिंग के लिए व्यावहारिक उदाहरण
जावा आउटपुट विधियां प्रोग्राम व्यवहार की जांच करने और त्रुटियों की पहचान करने के लिए अत्यंत उपयोगी हैं। विकास के दौरान, print, println, और printf का अक्सर चर मानों और निष्पादन प्रवाह की जांच के लिए उपयोग किया जाता है। यह खंड आउटपुट का उपयोग डिबगिंग या सरल लॉगिंग के लिए करते समय प्रमुख बिंदुओं और सावधानियों की व्याख्या करता है।
6-1. डिबगिंग के लिए आउटपुट
जब आप चर मानों की जांच करना चाहते हैं या निष्पादन प्रगति का ट्रैक रखना चाहते हैं, तो System.out.println का उपयोग त्वरित जांच के लिए सामान्य रूप से किया जाता है।
int total = 0;
for (int i = 1; i <= 5; i++) {
total += i;
System.out.println("i = " + i + ", total = " + total);
}
आउटपुट:
i = 1, total = 1
i = 2, total = 3
i = 3, total = 6
i = 4, total = 10
i = 5, total = 15
इस तरह चर मानों और प्रसंस्करण चरणों को प्रिंट करके, आप तुरंत बग्स या अप्रत्याशित व्यवहार का पता लगा सकते हैं।
6-2. सशर्त शाखाओं और त्रुटि स्थितियों में आउटपुट
जब कोई प्रोग्राम अपेक्षित रूप से व्यवहार न करे या विशिष्ट स्थितियों में त्रुटियों का सामना करे, तो संदर्भीय जानकारी प्रिंट करना रूट-कॉज विश्लेषण को आसान बनाता है।
String input = null;
if (input == null) {
System.out.println("Input is null. Data retrieval may have failed.");
}
6-3. आउटपुट का उपयोग सरल लॉग्स के रूप में
उत्पादन प्रणालियों में, java.util.logging.Logger जैसे लॉगिंग फ्रेमवर्क या Log4j जैसी बाहरी लाइब्रेरीज़ आमतौर पर System.out.println के बजाय उपयोग की जाती हैं। हालांकि, व्यक्तिगत प्रोजेक्ट्स, सीखने या त्वरित जाँच के लिए, मानक आउटपुट अक्सर पर्याप्त होता है।
सरल लॉग उदाहरण:
System.out.println("[INFO] Program started");
System.out.println("[ERROR] Failed to load file");
आउटपुट:
[INFO] Program started
[ERROR] Failed to load file
6-4. डिबगिंग के लिए आउटपुट उपयोग करने के समय सावधानियां
- विकास के दौरान डिबग आउटपुट सहायक होता है, लेकिन उत्पादन वातावरण में आपको अनावश्यक आउटपुट न छोड़ने या संवेदनशील जानकारी उजागर न करने के लिए सावधान रहना चाहिए।
- रिलीज़ से पहले, डिबग आउटपुट को हटा दें या इसे उचित लॉगिंग फ्रेमवर्क से बदल दें।
आउटपुट विधियों का उचित उपयोग करने से आप प्रभावी रूप से समस्या निवारण कर सकते हैं और प्रोग्राम की गुणवत्ता में सुधार कर सकते हैं।
7. सामान्य गलतियाँ और जाल
हालांकि जावा आउटपुट मेथड्स सरल हैं, शुरुआती अक्सर सूक्ष्म समस्याओं में फँस जाते हैं। यह अनुभाग सामान्य गलतियों और ध्यान देने योग्य महत्वपूर्ण बिंदुओं का सार प्रस्तुत करता है।
7-1. print और println को भ्रमित करना
चूँकि print नई पंक्ति नहीं जोड़ता और println जोड़ता है, इन्हें लापरवाही से मिलाने से अप्रत्याशित आउटपुट लेआउट हो सकते हैं।
System.out.print("A");
System.out.print("B");
System.out.println("C");
System.out.print("D");
आउटपुट:
ABC
D
टिप:
- केवल
printlnनई पंक्ति जोड़ता है। हमेशा आउटपुट क्रम और लेआउट पर विचार करें।
7-2. स्ट्रिंग्स और संख्याओं को जोड़ते समय गलतियाँ
स्ट्रिंग्स और संख्याओं को जोड़ते समय, + ऑपरेटर का गलत उपयोग अनपेक्षित परिणाम दे सकता है।
int x = 10;
int y = 20;
System.out.println("Total is " + x + y);
आउटपुट:
Total is 1020
सही उदाहरण:
System.out.println("Total is " + (x + y));
आउटपुट:
Total is 30
टिप:
- जब आप चाहते हैं कि अंकगणित को जोड़ने से पहले मूल्यांकित किया जाए, तो कोष्ठक (parentheses) का उपयोग करें।
7-3. printf में गलत फ़ॉर्मेट स्पेसिफ़ायर
printf के साथ, यदि फ़ॉर्मेट स्पेसिफ़ायर की संख्या या प्रकार तर्कों से मेल नहीं खाता है तो रनटाइम त्रुटियाँ या चेतावनियाँ हो सकती हैं।
System.out.printf("%d %s", 123);
→ रनटाइम त्रुटि या अप्रत्याशित व्यवहार
टिप्स:
- सुनिश्चित करें कि फ़ॉर्मेट स्पेसिफ़ायर की संख्या तर्कों की संख्या से मेल खाती है
- सही प्रकारों का उपयोग करें (
%dपूर्णांक के लिए,%fफ्लोटिंग‑पॉइंट संख्याओं के लिए,%sस्ट्रिंग्स के लिए)
7-4. गैर‑ASCII अक्षरों के साथ संरेखण समस्याएँ
printf के साथ चौड़ाई स्पेसिफ़ायर (जैसे, %10s) का उपयोग करने पर, गैर‑ASCII या फुल‑वाइड अक्षरों के लिए संरेखण टूट सकता है। ऐसा इसलिए है क्योंकि ये अक्षर आमतौर पर ASCII अक्षरों की तुलना में अधिक डिस्प्ले चौड़ाई लेते हैं। यदि दृश्य संरेखण महत्वपूर्ण है, तो आउटपुट वातावरण, फ़ॉन्ट, और एडिटर पर विचार करें।
7-5. डिबग आउटपुट को हटाना भूल जाना
ध्यान रखें कि उत्पादन कोड में डिबग print या println कथन न छोड़ें। अनावश्यक आउटपुट लॉग को अव्यवस्थित कर सकता है और कुछ मामलों में जानकारी लीक का कारण बन सकता है।
8. सारांश
इस लेख में सामान्यतः उपयोग किए जाने वाले जावा आउटपुट मेथड्स—print, println, और printf—के साथ-साथ String.format का उपयोग करके फ़ॉर्मेटेड स्ट्रिंग निर्माण और व्यावहारिक उन्नत तकनीकों को कवर किया गया है। नीचे उनके विशेषताओं और अनुशंसित उपयोग का संक्षिप्त सारांश दिया गया है।
8-1. प्रमुख मेथड्स का सारांश
| Method | Characteristics | Main Use Cases |
|---|---|---|
System.out.print | Outputs without a newline | Continuous output on the same line |
System.out.println | Automatically adds a newline | Line-by-line output |
System.out.printf | Formatted output using specifiers | Tables, alignment, numeric formatting |
String.format | Returns a formatted string | Logs, emails, file output |
8-2. सही मेथड चुनना
- सरल प्रदर्शन या डिबगिंग →
print,println - पढ़ने योग्य तालिकाएँ या संकलित डेटा →
printf - पुन: उपयोग योग्य फ़ॉर्मेटेड स्ट्रिंग्स या आगे की प्रोसेसिंग →
String.format
8-3. व्यावहारिक सलाह
- डिफ़ॉल्ट रूप में
printlnसे शुरू करें और आवश्यकता अनुसारprint,printfयाString.formatपर स्विच करें। - उन्नत आउटपुट, जैसे एरेज़, ऑब्जेक्ट्स, या OS‑स्वतंत्र नई पंक्तियाँ, मानक लाइब्रेरीज़ का उपयोग करके आसानी से लागू की जा सकती हैं।
- हमेशा फ़ॉर्मेटिंग त्रुटियों, ऑपरेटर प्रेसीडेंस समस्याओं, और भूले हुए डिबग आउटपुट पर ध्यान रखें।
.आउटपुट प्रोसेसिंग प्रोग्रामिंग में दृश्यता और सत्यापन के लिए आवश्यक है। इन तकनीकों को लागू करके अपने जावा विकास को अधिक कुशल और आरामदायक बनाएं।
9. FAQ (अक्सर पूछे जाने वाले प्रश्न)
Q1. मैं केवल एक नई पंक्ति कैसे आउटपुट करूँ?
A1.
आप System.out.println(); का उपयोग करके केवल एक नई पंक्ति आउटपुट कर सकते हैं।
वैकल्पिक रूप से, System.out.print(System.lineSeparator()); भी वही परिणाम देता है।
Q2. क्या print और println को मिलाने से अप्रत्याशित लाइन ब्रेक हो सकते हैं?
A2.
हाँ। चूँकि print नई पंक्ति नहीं जोड़ता और println जोड़ता है, आउटपुट क्रम के कारण लाइन ब्रेक अप्रत्याशित स्थानों पर दिखाई दे सकते हैं। संरचना और क्रम का ध्यान रखें।
Q3. printf और String.format में क्या अंतर है?
A3.
printf सीधे मानक आउटपुट पर लिखता है, जबकि String.format एक फॉर्मेटेड स्ट्रिंग लौटाता है। इससे String.format का परिणाम संग्रहीत, पुन: उपयोग या लॉग/फ़ाइल में लिखा जा सकता है।
Q4. क्या printf के साथ गैर-ASCII अक्षर सही ढंग से प्रदर्शित हो सकते हैं?
A4.
गैर-ASCII स्ट्रिंग्स को %s का उपयोग करके प्रिंट किया जा सकता है, लेकिन चौड़ाई निर्दिष्टकर्ता (जैसे %10s) अक्सर असंगति पैदा कर सकते हैं क्योंकि ये अक्षर अधिक डिस्प्ले चौड़ाई लेते हैं। परिणाम फ़ॉन्ट और एडिटर के अनुसार बदल सकते हैं।
Q5. संख्यात्मक आउटपुट में दशमलव स्थानों की संख्या कैसे नियंत्रित करूँ?
A5.
दशमलव सटीकता को नियंत्रित करने के लिए %.2f जैसे फॉर्मेट स्पेसिफ़ायर का उपयोग करें।
double value = 12.3456;
System.out.printf("%.2f\n", value); // → 12.35
Q6. एरे या सूची की सामग्री को स्पष्ट रूप से कैसे प्रदर्शित करूँ?
A6.
एरे के लिए Arrays.toString() और सूची के लिए System.out.println(list) का उपयोग करें।
int[] nums = {1, 2, 3};
System.out.println(Arrays.toString(nums));
Q7. प्रोडक्शन रिलीज़ से पहले प्रिंट स्टेटमेंट्स के साथ मुझे क्या करना चाहिए?
A7.
अनावश्यक print या println स्टेटमेंट्स को हटा दें, या उन्हें Logger या Log4j जैसे लॉगिंग फ्रेमवर्क से बदलें ताकि जानकारी लीक न हो और प्रदर्शन संबंधी समस्याएँ न आएँ।
Q8. आउटपुट को फ़ाइल में कैसे सहेजूँ?
A8.
आप FileWriter या BufferedWriter का उपयोग करके फॉर्मेटेड स्ट्रिंग्स को फ़ाइल में लिख सकते हैं। पहले String.format का उपयोग करना विशेष रूप से सुविधाजनक है।

