Учитывая следующий пример кода:
public class WeirdStuff {
public static int doSomething() {
while(true);
}
public static void main(String[] args) {
doSomething();
}
}
Это допустимая программа Java, хотя метод doSomething() должен возвращать int, но никогда не делает этого. Если вы запустите его, он закончится бесконечным циклом. Если вы поместите аргумент цикла while в отдельную переменную (например, boolean bool = true), компилятор скажет вам вернуть int в этот метод.
Итак, мой вопрос: это где-то в спецификации Java и есть ли ситуация, когда это поведение может быть полезно?