Text Blocks और String.format
text blocks से बहु-पंक्ति strings लिखें और String.format patterns से data को format करें।
Text Blocks और String.format, CoddyKit पर Java Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Java Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Java Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
टेक्स्ट ब्लॉक और String.format
टेक्स्ट ब्लॉक (Java 15+) एस्केपिंग के बिना बहु-पंक्ति String लिटरल लिखने देते हैं। String.format और formatted() के साथ मिलकर ये जटिल String आउटपुट को साफ़ और पढ़ने योग्य बनाते हैं।
टेक्स्ट ब्लॉक क्या होते हैं
टेक्स्ट ब्लॉक एक String लिटरल है जो तीन दोहरे उद्धरण चिह्नों """ से घिरा होता है। यह नई पंक्तियों और इंडेंटेशन को स्वचालित रूप से बनाए रखता है, जिससे बहु-पंक्ति सामग्री के लिए एस्केप अनुक्रमों की आवश्यकता समाप्त हो जाती है।
// Traditional multi-line string
String old = "SELECT id, name, email\n" +
"FROM users\n" +
"WHERE active = true\n" +
"ORDER BY name;";
// Text block (Java 15+) — much cleaner
String sql = """
SELECT id, name, email
FROM users
WHERE active = true
ORDER BY name;
""";
System.out.println(sql);इंडेंटेशन प्रबंधन
टेक्स्ट ब्लॉक सामान्य प्रारंभिक रिक्त स्थान को स्वचालित रूप से हटा देते हैं। समापन """ की स्थिति इंडेंटेशन को नियंत्रित करती है।
// Leading spaces up to the closing """ are stripped
String json = """
{
"name": "Alice",
"role": "admin"
}
""";
// Output has no leading spaces (stripped by common indent)
System.out.println(json);
// {
// "name": "Alice",
// "role": "admin"
// }अंतर्निहित उद्धरण चिह्न
टेक्स्ट ब्लॉक में दोहरे उद्धरण चिह्नों को एस्केप किए बिना रखा जा सकता है, जब तक कि लगातार तीन उद्धरण चिह्न न आएँ। एकल " और "" ठीक हैं।
String html = """
<div class="container">
<p class="title">Hello, World!</p>
<a href="https://example.com">Click here</a>
</div>
""";
System.out.println(html);
// Note: no need to escape " inside the blockजेएसओएन टेम्पलेट के लिए टेक्स्ट ब्लॉक
टेक्स्ट ब्लॉक परीक्षणों या कॉन्फ़िगरेशन में उपयोग किए जाने वाले जेएसओएन, HTML, एक्सएमएल और एसक्यूएल टेम्पलेट के लिए विशेष रूप से उपयोगी होते हैं।
String request = """
{
"email": "alice@example.com",
"password": "secret123",
"plan": "PRO"
}
""";
// In tests: compare expected JSON
String expected = """
{
"status": "created",
"id": 42
}
""";
// Perfect for MockMvc test assertions
System.out.println(request);टेक्स्ट ब्लॉक के साथ formatted()
पैरामीटरयुक्त टेम्पलेट बनाने के लिए टेक्स्ट ब्लॉक को formatted() (Java 15+) के साथ मिलाएँ।
String name = "Alice";
long orderId = 1234L;
double total = 149.99;
String email = """
Dear %s,
Your order #%d has been confirmed.
Total charged: $%.2f
Thank you for shopping with us!
""".formatted(name, orderId, total);
System.out.println(email);
// Dear Alice,
// Your order #1234 has been confirmed.
// Total charged: $149.99टेक्स्ट ब्लॉक में एस्केप अनुक्रम
टेक्स्ट ब्लॉक \n, \t, और Java 14+ के \ (पंक्ति निरंतरता) तथा \s (अंतिम रिक्त स्थान बनाए रखना) का समर्थन करते हैं।
// \s forces a space (preserves trailing whitespace on line)
String padded = """
line one \s
line two \s
""";
// \ (backslash at end of line) joins lines in source but keeps them as one
String poem = """
Roses are red, \
violets are blue.
""";
System.out.println(poem); // Roses are red, violets are blue.String.format संदर्भ
String.format के लिए मुख्य फ़ॉर्मैट विनिर्देशक:
- %s — String
- %d — पूर्णांक
- %f — दशमलव संख्या
- %.2f — दशमलव के बाद 2 स्थान
- %n — प्लेटफ़ॉर्म की नई पंक्ति
- %x — हेक्स
- %10d — 10 वर्णों में दाईं ओर संरेखित
System.out.printf("%s | %d | %.2f | %X%n", "Item", 42, 9.99, 255);
// Item | 42 | 9.99 | FF
String formatted = String.format("%-20s %6.2f%n", "Mechanical Keyboard", 129.95);
System.out.print(formatted);
// Mechanical Keyboard 129.95
// Named format with text block
System.out.printf("""
Order: %s
Total: $%.2f
Status: %s%n""", "ORD-001", 99.99, "SHIPPED");टेक्स्ट ब्लॉक के stripIndent और translateEscapes
दो String विधियाँ टेक्स्ट ब्लॉक के साथ काम करती हैं: stripIndent() सामान्य प्रारंभिक रिक्त स्थान हटाता है, और translateEscapes() रनटाइम String में एस्केप अनुक्रमों को संसाधित करता है।
String raw = " hello\\n world";
System.out.println(raw); // hello\n world
System.out.println(raw.translateEscapes()); // hello (newline) world
// stripIndent removes common leading whitespace
String indented = " line 1\n line 2\n line 3";
System.out.println(indented.stripIndent()); // line 1\nline 2\nline 3व्यावहारिक उपयोग: HTML ईमेल टेम्पलेट
टेक्स्ट ब्लॉक के साथ पैरामीटरयुक्त HTML ईमेल टेम्पलेट बनाना।
static String buildWelcomeEmail(String name, String activationLink) {
return """
<!DOCTYPE html>
<html>
<body>
<h1>Welcome, %s!</h1>
<p>Click the link below to activate your account:</p>
<a href="%s">Activate Account</a>
</body>
</html>
""".formatted(name, activationLink);
}
System.out.println(buildWelcomeEmail("Alice",
"https://app.example.com/activate?token=abc123"));टेक्स्ट ब्लॉक बनाम String.join
तत्वों की सूचियों के लिए String.join या Collectors.joining, टेक्स्ट ब्लॉक से अधिक लचीले हैं। स्थिर बहु-पंक्ति सामग्री के लिए टेक्स्ट ब्लॉक और गतिशील सूचियों के लिए join का उपयोग करें।
import java.util.*;
import java.util.stream.*;
List<String> features = List.of("Unlimited storage", "Priority support", "AI assistant");
// Dynamic list: join
String bullet = features.stream()
.map(f -> " • " + f)
.collect(Collectors.joining("\n"));
System.out.println(bullet);
// • Unlimited storage
// • Priority support
// • AI assistant
// Fixed template: text block + formatted
String plan = """
PRO Plan — $29/month
Features:
%s
""".formatted(bullet);
System.out.println(plan);त्वरित जाँच
टेक्स्ट ब्लॉक में समापन """ की स्थिति क्या नियंत्रित करती है?
पुनरावलोकन: टेक्स्ट ब्लॉक और String.format
मुख्य बातें:
- टेक्स्ट ब्लॉक (Java 15+) तीन उद्धरण चिह्नों का उपयोग करते हैं और एस्केपिंग के बिना बहु-पंक्ति संरचना बनाए रखते हैं
- समापन \"\"\" की स्थिति के आधार पर सामान्य प्रारंभिक रिक्त स्थान स्वचालित रूप से हटा दिए जाते हैं
- टेक्स्ट ब्लॉक के अंदर दोहरे उद्धरण चिह्नों को एस्केप करने की आवश्यकता नहीं होती
- पैरामीटरयुक्त टेम्पलेट के लिए टेक्स्ट ब्लॉक पर .formatted() का उपयोग करें
- String.format विनिर्देशक: %s, %d, %.2f, %n, %x, चौड़ाई/संरेखण फ़्लैग
- पंक्ति के अंत में अंतिम रिक्त स्थान बनाए रखने के लिए \s और पंक्तियों को जोड़ने के लिए पंक्ति के अंत में \ का उपयोग करें
एआई शिक्षक के साथ Java सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 104
- पाठ
- 374
अक्सर पूछे जाने वाले प्रश्न
क्या “Text Blocks और String.format” पाठ निःशुल्क है?
हाँ—“Text Blocks और String.format” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Java Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Java Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Text Blocks और String.format” में मैं क्या सीखूँगा?
text blocks से बहु-पंक्ति strings लिखें और String.format patterns से data को format करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Java Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Java Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Java Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“Text Blocks और String.format” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Java Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Java Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- String की Immutability और String Pool
- कुशल Concatenation के लिए StringBuilder
- Text Blocks और String.format
- Pattern और Matcher के साथ Regular Expressions