मैंने जावा कोड का एक टुकड़ा लिखा है जो एक अनंत लूप में चल रहा है।
नीचे कोड है:
public class TestProgram {
public static void main(String[] args){
Integer i = new Integer(0);
Integer j = new Integer(0);
while(i<=j && j<=i && i!=j){
System.out.println(i);
}
}
}
ऊपर दिए गए कोड में, whileलूप में स्थिति को देखते हुए , पहले ऐसा लगता है कि प्रोग्राम whileलूप के अंदर नहीं जाएगा । लेकिन वास्तव में यह एक अनंत लूप है और मूल्य को छापता रहता है।
यहाँ क्या हो रहा है?
iया j, आप पाश को समाप्त करने की उम्मीद कब करेंगे?
i<=jऔर j<=iआप निष्कर्ष निकाल सकते हैं i == j, जो कि अंतिम शब्द का खंडन करता है। इस प्रकार पूरी अभिव्यक्ति झूठी का मूल्यांकन करती है और जबकि प्रवेश नहीं किया जाएगा। मुख्य बिंदु यहाँ वस्तु पहचान है!
i<=j && j<=i && i!=jयह स्थिति हमेशा सही का मूल्यांकन करती है। बस कागज का एक टुकड़ा ले लो और मूल्यांकन करें कि आप इसे पकड़ लेंगे :)