का उपयोग करते समय मैं इस वर्ग के पाश के लिए जल्दीजब Integer.MAX_VALUE की तुलना में और System.out.println
class Test {
public static void main(String[] args) {
int result = 0;
int end = Integer.MAX_VALUE;
int i;
for (i = 1; i <= end; i += 2) {
System.out.println(i);
}
System.out.println("End:" + i);
}
}
आउटपुट समाप्त करने के लिए लगता है चलाने है:
1
3
5
...
31173
31175
End:31177
क्यों क्या यह वहां खत्म होता है? दिलचस्प बात यह है कि अगर मैंने लूप में System.out.println(i)
हटा दिया, तो आउटपुट End:-2147483647
होगा। जाहिर है i
में मान wrapped round
है।
जावा संस्करण मैं उपयोग कर रहा हूँ
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)
प्रिंटिंग Integer.MAX_VALUE –
प्रिंट करने का प्रयास करें मुझे ऐसा आउटपुट नहीं मिल रहा है। ऐसा लगता है कि आपका बफर भरा हुआ है या कुछ। –
कोड कभी भी प्रिंट प्रिंट नहीं करना चाहिए, एक बग भी है (हालांकि थोड़ा अलग है), आपके द्वारा लिखे गए लूप अनंत हैं, मैं हमेशा <= Integer.MAX_VALUE रहूंगा। – user439407