Я бы добавил
float i = Float.NaN;
а также
double i = Double.NaN;
Обычный трюк в подобных вопросах - допущение, что вы - int. Другие распространенные предположения: s - строка, x, y - двойное число, ch - символ, b - байт и т. Д.
Если вы видите такой вопрос, вы можете поспорить, что «i» не соответствует его типу.
Аналогичный вопрос есть; Это никогда не зацикливается, что такое «х»
while(x == x && x != x + 0) { }
Еще один вопрос, который мне очень нравится; Этот цикл представляет собой бесконечный цикл, каковы возможные значения х. (: Я считаю двенадцать из них:)
while(x != 0 && x == -x) { }