Saya mengikuti teka-teki ini dari kursus pemrograman tingkat lanjut di ujian universitas Inggris .
Pertimbangkan loop berikut, di mana i, sejauh ini, tidak dideklarasikan:
while (i == i + 1) {}
Temukan definisi dari i
, yang mendahului pengulangan ini, sehingga pengulangan while berlanjut untuk selamanya.
Pertanyaan berikutnya, yang menanyakan pertanyaan yang sama untuk cuplikan kode ini:
while (i != i) {}
jelas bagi saya. Tentu saja dalam situasi lain ini NaN
tetapi saya benar-benar terjebak pada yang sebelumnya. Apakah ini ada hubungannya dengan overflow? Apa yang akan menyebabkan pengulangan seperti itu untuk selamanya di Java?
null
, karena null == null
benar, dan null + 1
adalah null
.
0.2 + 0.1 == 0.3
nilainya berubah tergantung pada pengaturan kompiler, fase bulan, dan sebagainya.
.equals()
metode? Karena saya tidak dideklarasikan, kami dapat menggunakan kelas apa pun yang kami inginkan.