ฉันวิ่งข้ามปริศนานี้จากหลักสูตรการเขียนโปรแกรมขั้นสูงในการสอบของมหาวิทยาลัยในสหราชอาณาจักร
พิจารณาลูปต่อไปนี้ซึ่งฉันอยู่จนถึงตอนนี้ยังไม่ได้ประกาศ:
while (i == i + 1) {}
ค้นหาคำจำกัดความของi
ที่นำหน้าลูปนี้เพื่อให้ลูป while ดำเนินต่อไปตลอดกาล
คำถามถัดไปซึ่งถามคำถามเดียวกันสำหรับข้อมูลโค้ดนี้:
while (i != i) {}
เห็นได้ชัดสำหรับฉัน แน่นอนในสถานการณ์อื่น ๆ นี้NaN
แต่ฉันติดอยู่กับเหตุการณ์ก่อนหน้านี้จริงๆ สิ่งนี้เกี่ยวข้องกับการล้นหรือไม่? อะไรจะทำให้ลูปดังกล่าววนซ้ำไปตลอดกาลใน Java
null
ตั้งแต่null == null
เป็นความจริงและเป็นnull + 1
null
0.2 + 0.1 == 0.3
เปลี่ยนค่าของมันขึ้นอยู่กับการตั้งค่าคอมไพเลอร์ระยะของดวงจันทร์และอื่น ๆ
.equals()
วิธีการหรือไม่? เนื่องจากฉันไม่ได้ประกาศเราอาจใช้คลาสใดก็ได้ตามที่เราต้องการ