टर्नरी ऑपरेटर को if-else का छोटा रूप मान सकते हैं। इसका इस्तेमाल आम तौर पर रिटर्न स्टेटमेंट में होता है, हालाँकि यह सिर्फ इन्हीं तक सीमित नहीं है। निर्णय लेने के लिए इसे बस एक ही लाइन चाहिए: अगर एक्सप्रेशन true है तो यह बाईं ओर की वैल्यू लौटाता है, और अगर false है तो दाईं ओर की वैल्यू।
बहुत सारे सरल if/else एक्सप्रेशनों को टर्नरी ऑपरेटर की मदद से आसान बनाया जा सकता है।
// this ternary statement
return 5 > 4 ? true : false;
// is equivalent to this if/else
if ( 5 > 4 ) {
return true;
} else {
return false;
}
तो if-else और टर्नरी ऑपरेटर के बीच चुनाव कैसे करें?
टर्नरी ऑपरेटर उन सरल परिस्थितियों में इस्तेमाल किए जाते हैं जहाँ आपको किसी शर्त के आधार पर सिर्फ एक वैल्यू लौटानी होती है और कोई अतिरिक्त गणना नहीं करनी होती। बाकी सब चीज़ों के लिए if-else इस्तेमाल कीजिए, जैसे नेस्टेड शर्तें, बड़े एक्सप्रेशन, और वे मामले जहाँ रिटर्न वैल्यू तय करने के लिए एक से ज़्यादा लाइनें चाहिए।
टर्नरी ऑपरेटर को नेस्टेड किया जा सकता है, लेकिन तब कोड अक्सर पढ़ने में कठिन हो जाता है। ऐसे मामलों में नेस्टेड if बेहतर होते हैं।
// hard to read
int value = expr1 ? expr2 && expr3 ? val1 : (val2 + val3) : expr4;
// easier to read
if (expr1){
if (expr2 && expr3){
return val1;
}
return val2 + val3;
}
return val4;
टर्नरी ऑपरेटर और if/else स्टेटमेंट इस बात का अच्छा उदाहरण हैं कि प्रोग्रामिंग करते समय एक ही नतीजा पाने के अलग-अलग तरीके हो सकते हैं।