दिलचस्प पोस्ट
गैंट चार्ट में सबटास्क के रंग को बदलने के लिए कोड मैं जावास्क्रिप्ट में एक नई लाइन कैसे बनाऊं? जावा में अंतर्राष्ट्रीय स्ट्रिंग को \ u कोड्स में कनवर्ट करें कीप्रेस पढ़ने के लिए पायथन विधि? घटनाओं की संख्या को खोजने के लिए गणना का उपयोग करना एंड्रॉइड स्टूडियो में उप दृश्य के रूप में प्रदर्शन एकता दृश्य क्या मैं सामान्य प्रकार के शब्दकोश बना सकता हूं? फ़ंक्शन के बजाय वार का उपयोग कब करना है? फ़िल्टर किए गए एनजी-दोहराने वाले डेटा की लंबाई कैसे प्रदर्शित करें स्टोरीबोर्ड प्रोटोटाइप सेल (एक्सकोड 6, आईओएस 8 एसडीके) में यूआईकॉलप्लेक्शन ViewCell contentView के फ़्रेम का ऑटोर्सिस्किंग अंक केवल आईओएस 7 पर चलते समय होता है Setup.py क्या है? विचारों को स्विच करने के लिए मैं UISegmentedControl का उपयोग कैसे करूं? क्या एक jqGrid कॉलम चुनने के लिए एक पूर्ण काम उदाहरण है? सी # संपत्ति और रेफरी पैरामीटर, क्यों नहीं चीनी? लॉगिंग के लिए एपेज के साथ एओपी का उपयोग कैसे करें?

जावा: टर्नरी विद नो रिटर्न (विधि कॉलिंग के लिए)

मैं सोच रहा था कि क्या एक टर्नरी ऑपरेशन करना संभव था, लेकिन कुछ भी लौटने के बिना

यदि जावा में संभव नहीं है, तो क्या यह अन्य भाषाओं में संभव है, यदि ऐसा है तो कौन लागू होते हैं?

name.isChecked() ? name.setChecked(true):name.setChecked(false); 

Solutions Collecting From Web of "जावा: टर्नरी विद नो रिटर्न (विधि कॉलिंग के लिए)"

नहीं, आप नहीं कर सकते लेकिन क्या if-else एक if-else बयान पर यह बात है? क्या आप वास्तव में 7 अक्षर बचाने की कोशिश कर रहे हैं?

 if (name.isChecked()) { name.setChecked(true); } else { name.setChecked(false); } 

या यदि आप खराब शैली पसंद करते हैं:

 if (name.isChecked()) name.setChecked(true); else name.setChecked(false); 

इस तथ्य को कभी भी ध्यान न दें कि आप बस (इस मामले में) कर सकते हैं:

 name.setChecked(name.isChecked()); 

टर्नरी या "सशर्त" ऑपरेटर का बिंदु एक अभिव्यक्ति में शर्त प्रस्तुत करना है। दूसरे शब्दों में, यह:

 int max = a > b ? a : b; 

इसके लिए लघुकथा होना चाहिए:

 int max; if ( a > b ) { max = a; } else { max = b; } 

अगर कोई मूल्य नहीं है, तो सशर्त ऑपरेटर शॉर्टकट नहीं है

मैं सोच रहा था कि क्या एक टर्नरी ऑपरेशन करना संभव था, लेकिन कुछ भी लौटने के बिना

नहीं, यह संभव नहीं है:

  1. दूसरे और तीसरे ऑपरेंड को गैर-शून्य अभिव्यक्ति की आवश्यकता होती है; अर्थात् वे कुछ वास्तविक मूल्य का निर्माण करना चाहिए।

    "यह दूसरी या तीसरी ऑपरेंड अभिव्यक्ति के लिए एक शून्य विधि की एक आह्वान होने के लिए एक संकलन-समय त्रुटि है।" – जेएलएस 15.25

  2. एक त्रिगुट अभिव्यक्ति एक अभिव्यक्ति है, और एक बयान के रूप में उपयोग नहीं किया जा सकता है

    "कुछ प्रकार के अभिव्यक्तियों को अर्धविराम के साथ उनका अनुसरण करके बयान के रूप में इस्तेमाल किया जा सकता है।" … और टर्नरी अभिव्यक्ति उन प्रकारों में से एक नहीं है – जेएलएस 14.8 ।

यदि आप वास्तव में, वास्तव में एक त्रिगुट अभिव्यक्ति का उपयोग करना चाहते हैं लेकिन अभिव्यक्ति के मूल्य का उपयोग नहीं करना चाहते हैं, तो सबसे सरल चीज एक डमी चर के लिए मान असाइन करना है, और वेरिएबल का उपयोग नहीं किए जाने के बारे में चेतावनी को दबाने के लिए एक एनोटेशन जोड़ना है।

लेकिन एक बेहतर विचार एक सादे if कथन का उपयोग करना है

यदि जावा में संभव नहीं है, तो क्या यह अन्य भाषाओं में संभव है, यदि ऐसा है तो कौन लागू होते हैं?

मैं थोड़ी सी जंगली हूँ, लेकिन मेरा मानना ​​है कि सी, सी ++ और पर्ल सभी जगहों पर मनमानी अभिव्यक्ति का उपयोग करने की अनुमति देते हैं, जहां उनके मूल्यों का उपयोग नहीं किया जाता है।

कभी-कभी, आप अपने अनुरोध को हल करने के लिए विधि तर्कों पर टर्नरी ऑपरेशन का उपयोग कर सकते हैं।

 name.setChecked(name.isChecked() ? true : false); 

जिस तरह से अपने peoblem के लिए सबसे अच्छा समाधान है

 name.setCecked(name:isChecked()); 

जावा में निम्नलिखित कोड संभव नहीं है:

 (your-condition) ? (true-statements) : (false-statements) 

नमूना के लिए आप निम्न स्निपेट कोड संकलित नहीं कर सकते हैं:

 (1==1) ? System.out.println("") : System.out.println(""); 

आप निम्न संकलन त्रुटि प्राप्त करते हैं:

 The left-hand side of an assignment must be a variable 

आपको कुछ मान वापस करना पड़ता है और यह काम नहीं करेगा यदि आप इसे शून्य विधि की तरह कार्य करना चाहते हैं जो बिना किसी मूल्य को लौटाए बिना कुछ कार्रवाई करता है।

उम्मीद है की यह मदद करेगा…