टर्नरी ऑपरेटर सरल if/else स्टेटमेंट के लिए एक हल्का और छोटा विकल्प है।
आम तौर पर इसका इस्तेमाल लौटाने वाले स्टेटमेंट में होता है, लेकिन यह सिर्फ उन्हीं तक सीमित नहीं है। निर्णय लेने के लिए इसे सिर्फ एक ही लाइन चाहिए। अगर एक्सप्रेशन true है तो यह बाईं ओर की वैल्यू लौटाता है, और अगर false है तो दाईं ओर की वैल्यू लौटाता है, जैसा कि नीचे दिखाया गया है:
boolean expr = 0 != 200;
// Ternary statement
int value = expr ? 22 : 33;
// => 22
बहुत सारे सरल if/else एक्सप्रेशन को टर्नरी ऑपरेटर की मदद से और आसान बनाया जा सकता है।
इस अभ्यास में आप ऐसे नियम लिखेंगे जिनसे किसी कर्मचारी के एक महीने के कुल वेतन की गणना होती है। International Siderurgy Company (ISC) को कर्मचारियों के वेतन की गणना में मदद चाहिए, और उसमें उन सभी कारकों का ध्यान रखना है जो अंतिम वेतन पर असर डाल सकते हैं।
आपको तीन कार्य करने हैं। इन्हें पूरा करने के लिए if/else स्टेटमेंट की जगह टर्नरी ऑपरेटर का उपयोग कीजिए।
salaryMultiplier मेथड लागू कीजिए, जो यह देखता है कि कर्मचारी ने कितने दिन काम नहीं किया और उसी के अनुसार वेतन गुणक लौटाता है। अगर कर्मचारी ने कम से कम पाँच दिन काम नहीं किया हो, तो 15% का दंड लगाइए।
int daysSkipped = 3;
salaryMultiplier(daysSkipped);
// => 1.0
daysSkipped = 7;
salaryMultiplier(daysSkipped);
// => 0.85
bonusMultiplier और bonusForProductsSold मेथड लागू कीजिए। ISC हर बेचे गए प्रोडक्ट पर दस मौद्रिक इकाइयाँ देती है, और अगर कोई कर्मचारी बीस या उससे अधिक प्रोडक्ट बेचता है, तो गुणक बढ़कर तेरह हो जाता है। bonusMultiplier को यह तय करना है कि कौन-सा गुणक लगाना है, और bonusForProductSold को कुल बोनस मौद्रिक इकाइयों में लौटाना है।
int productsSold = 21;
bonusMultiplier(productsSold);
// => 13
bonusForProductsSold(productsSold);
// => 273
productsSold = 5;
bonusMultiplier(productsSold);
// => 10
bonusForProductsSold(productsSold);
// => 50
finalSalary मेथड लागू कीजिए। यह 1000.00 के आधार वेतन को वेतन गुणक से गुणा करे, उसमें बोनस जोड़े, और परिणाम लौटाए। लेकिन वेतन 2000.00 पर सीमित रहना चाहिए।
int daysSkipped = 2;
int productsSold = 3;
finalSalary(daysSkipped, productsSold);
// => 1030.00
productsSold = 90;
finalSalary(daysSkipped, productsSold);
// => 2000.00
Exercism पर साइन अप कीजिए और Java को 26 कॉन्सेप्ट158 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।