func3 को नीचे दिए गए कार्यक्रम में निष्पादित क्यों नहीं किया जाता है? Func1 के बाद, func2 को मूल्यांकन करने की आवश्यकता नहीं है लेकिन func3 के लिए, है ना?इस जावा कोड में शॉर्ट सर्किट तर्क के साथ क्या गलत है?
if (func1() || func2() && func3()) {
System.out.println("true");
} else {
System.out.println("false");
}
}
public static boolean func1() {
System.out.println("func1");
return true;
}
public static boolean func2() {
System.out.println("func2");
return false;
}
public static boolean func3() {
System.out.println("func3");
return false;
}
मेरा मानना है कि हर कोई शॉर्ट सर्किट समस्या की जानकारी है, उस मामले में सवाल का संपादित संस्करण निष्पादित करने के लिए नहीं हो सकता है ब्याज नए लोग भी अगर वे तार्किक और& और || के बारे में एक जवाब की तलाश में हैं जावा का मूल्यांकन – DragonBorn
यह इस बात को उठाता है कि इस तरह की गैर-तुच्छ अभिव्यक्ति में, ब्रांड्स के साथ अपना इरादा घोषित करना एक अच्छा विचार है। तो यदि आप (func1() || (func2() && func3()) का इरादा रखते हैं, तो आप इसे प्रोग्रामर के लिए स्पष्ट और स्पष्ट करते हैं जो बाद में आते हैं कि आपका कोड इरादे से काम कर रहा है। – mtruesdell