Все темы
Методы
Статические методы, параметры и возвращаемые значения, передача по значению, перегрузка, рекурсия и область видимости локальных переменных.
Сортировка:
4 вопроса
JuniorТеорияЧастоЧто произойдёт при компиляции и запуске программы?
JuniorТеорияЧасто
Что произойдёт при компиляции и запуске программы?
Не скомпилируется
Открыть задачу →Типичные ошибки
- ✗Ждать
1: компилятор не смотрит на вызовsign(5); он проверяет, что каждый путь вsignвозвращает значение, а приx == 0метод доходит до конца без него. - ✗Ждать
0или ошибку при запуске: результата по умолчанию у метода нет; путь безreturnостанавливает компиляцию с ошибкойmissing return statement.
Уточняющие вопросы
- →Как изменить
sign, чтобы он компилировался и возвращал 0 для нуля? - →Почему метод
voidкомпилируется вовсе безreturn?
JuniorТеорияЧастоЧто выведет программа?
JuniorТеорияЧасто
Что выведет программа?
intdoubleint
Открыть задачу →Типичные ошибки
- ✗Ждать
intdoubledouble: безf(char)компилятор берёт ближайшее расширение, аcharрасширяется доintраньше, чем доdouble. - ✗Ждать ошибку компиляции: нет точного совпадения — не ошибка, если расширение аргумента находит подходящую версию.
Уточняющие вопросы
- →Какая версия вызовется для
f(5L)и почему? - →Почему два метода не могут отличаться только типом результата?
JuniorТеорияЧастоЧто выведет программа?
JuniorТеорияЧасто
Что выведет программа?
1
Открыть задачу →Типичные ошибки
- ✗Ждать
2: Java передаёт аргументы по значению,n— копияx, иn++меняет только копию, которая исчезает после выхода изinc. - ✗Ждать ошибку компиляции: параметр — обычная локальная переменная, и менять его можно; только до переменной вызывающего кода изменение не доходит.
Уточняющие вопросы
- →Как изменить
inc, чтобыmainполучил новое значение? - →Как Java передаёт аргументы — по значению или по ссылке?
JuniorТеорияЧастоЧто выведет программа?
JuniorТеорияЧасто
Что выведет программа?
10
Открыть задачу →Типичные ошибки
- ✗Ждать
0: 0 из базового случая возвращается вf(1), а не вmain; каждый ждущий вызов прибавляет своюn, и ответы растут: 1, 3, 6, 10. - ✗Ждать
StackOverflowError:nдоходит до 0, и там?:возвращает 0 без нового вызова, поэтому цепочка останавливается после пяти вызовов.
Уточняющие вопросы
- →Что произойдёт, если программа вызовет
f(-1)? - →Как посчитать ту же сумму циклом?