yield कीवर्ड
switch ब्लॉक से मान उत्पन्न करें
yield कीवर्ड, CoddyKit पर Java Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Java Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Java Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
जब एक पंक्ति पर्याप्त न हो
case 1 -> 42; जैसी ऐरो शाखा सीधे एक मान लौटाती है। लेकिन यदि किसी शाखा को अपना मान उत्पन्न करने से पहले कई कथन चलाने हों तो क्या होगा? ऐसी स्थिति में yield काम आता है।
yield कीवर्ड
किसी ब्लॉक शाखा { } के अंदर yield कीवर्ड वह मान देता है जिसे switch व्यंजक उत्पन्न करता है। इसे return जैसा समझें, लेकिन यह switch शाखा के लिए होता है।
public class Main {
public static void main(String[] args) {
int n = 3;
int result = switch (n) {
case 3 -> {
int squared = n * n;
yield squared;
}
default -> 0;
};
System.out.println(result);
}
}ब्लॉक के अंदर yield
आप yield बुलाने से पहले ब्लॉक में कोई भी तर्क चला सकते हैं। ब्लॉक का अंतिम काम कोई मान yield करना होना चाहिए।
public class Main {
public static void main(String[] args) {
int amount = 250;
String label = switch (amount / 100) {
case 0 -> "small";
default -> {
System.out.println("Computing label...");
yield "large";
}
};
System.out.println(label);
}
}ऐरो और ब्लॉक शाखाओं का मिश्रण
एक ही switch व्यंजक में सरल ऐरो शाखाओं और yield का इस्तेमाल करने वाली ब्लॉक शाखाओं को मिलाया जा सकता है। प्रत्येक विकल्प के लिए जो उपयुक्त हो, उसका इस्तेमाल करें।
public class Main {
public static void main(String[] args) {
int code = 2;
String msg = switch (code) {
case 1 -> "One";
case 2 -> {
String s = "T" + "wo";
yield s;
}
default -> "Other";
};
System.out.println(msg);
}
}yield से पहले गणना
जब किसी मान की गणना करनी हो, तब ब्लॉक शाखाएँ आदर्श होती हैं। यहाँ हम कुल योग को yield करने से पहले अंकों का योग निकालते हैं।
public class Main {
public static void main(String[] args) {
int category = 1;
int value = switch (category) {
case 1 -> {
int sum = 0;
for (int i = 1; i <= 5; i++) {
sum += i;
}
yield sum;
}
default -> 0;
};
System.out.println(value);
}
}yield बनाम return
yield केवल switch शाखा से बाहर निकलता है और एक मान वापस देता है। return पूरी विधि से बाहर निकल जाता। switch व्यंजक के ब्लॉक के अंदर yield का इस्तेमाल करें।
public class Main {
static int classify(int n) {
int rank = switch (n) {
case 0 -> 0;
default -> {
yield (n > 0) ? 1 : -1;
}
};
return rank;
}
public static void main(String[] args) {
System.out.println(classify(-7));
}
}पुरानी द्विबिंदु शैली में yield
द्विबिंदु-शैली का switch भी break के बजाय yield का इस्तेमाल करके व्यंजक बन सकता है। प्रत्येक लेबल वाला खंड अपना मान yield करता है।
public class Main {
public static void main(String[] args) {
int day = 2;
String name = switch (day) {
case 1: yield "Mon";
case 2: yield "Tue";
default: yield "Other";
};
System.out.println(name);
}
}शर्तीय yield
किसी ब्लॉक शाखा में if तर्क शामिल हो सकता है और अलग-अलग मार्गों पर अलग-अलग मान yield किए जा सकते हैं। प्रत्येक मार्ग को एक मान yield करना होगा।
public class Main {
public static void main(String[] args) {
int temp = 30;
String advice = switch (temp / 10) {
case 3 -> {
if (temp > 35) {
yield "Very hot";
}
yield "Warm";
}
default -> "Mild";
};
System.out.println(advice);
}
}ऑब्जेक्ट लौटाना
yield किसी भी प्रकार के साथ काम करता है, ऑब्जेक्ट के साथ भी। यहाँ एक शाखा StringBuilder परिणाम बनाकर उसे String के रूप में yield करती है।
public class Main {
public static void main(String[] args) {
int count = 3;
String stars = switch (count) {
case 0 -> "";
default -> {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < count; i++) {
sb.append("*");
}
yield sb.toString();
}
};
System.out.println(stars);
}
}पठनीयता की सलाह
जब एक मान पर्याप्त हो, तो सरल ऐरो शाखाओं को प्राथमिकता दें। ब्लॉक और yield का इस्तेमाल तभी करें जब किसी शाखा को सचमुच अतिरिक्त कथनों की आवश्यकता हो। इससे आपका switch सुव्यवस्थित रहता है।
public class Main {
public static void main(String[] args) {
int level = 2;
int xp = switch (level) {
case 1 -> 100;
case 2 -> {
int base = 100;
yield base * 2;
}
default -> 0;
};
System.out.println(xp);
}
}एक संपूर्ण उदाहरण
इसे एक साथ देखें: HTTP-शैली का स्थिति-रूपांतरक, जो ऐरो और ब्लॉक दोनों शाखाओं का इस्तेमाल करता है।
public class Main {
public static void main(String[] args) {
int status = 404;
String message = switch (status / 100) {
case 2 -> "Success";
case 4 -> {
String base = "Client error ";
yield base + status;
}
case 5 -> "Server error";
default -> "Unknown";
};
System.out.println(message);
}
}त्वरित जाँच
कई-कथन वाली switch व्यंजक शाखा के अंदर परिणाम देने वाला कीवर्ड कौन-सा है?
पुनरावृत्ति
आपने yield कीवर्ड सीखा:
yieldएक ब्लॉक शाखा से मान उत्पन्न करता है- यह
returnजैसा है, लेकिन केवलswitchशाखा के लिए - ऐरो और ब्लॉक शाखाओं को स्वतंत्र रूप से मिलाएँ
- ब्लॉक में मौजूद प्रत्येक कोड मार्ग को
yieldकरना होगा - ब्लॉक का इस्तेमाल तभी करें जब अतिरिक्त कथनों की आवश्यकता हो
एआई शिक्षक के साथ Java सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 104
- पाठ
- 374
अक्सर पूछे जाने वाले प्रश्न
क्या “yield कीवर्ड” पाठ निःशुल्क है?
हाँ—“yield कीवर्ड” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Java Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Java Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“yield कीवर्ड” में मैं क्या सीखूँगा?
switch ब्लॉक से मान उत्पन्न करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Java Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Java Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Java Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“yield कीवर्ड” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Java Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Java Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।