Try English version of Quizful



Раздаем бесплатные Q! подробности в группе Quizful.Alpha-test
Партнеры
Рекрутерам: Прескрининг кандидатов about
Топ контрибуторов
loading
loading
Знаете ли Вы, что

Свои вопросы для тестов можно добавлять на странице с информацией о тесте. При этом для некоторых тестов добавление вопросов закрыто

Лента обновлений
ссылка 22:03:47
Комментарий от yourun:
Я понимаю вашу боль с этим вопросом, постараюсь его отред...
ссылка 21:13:52
Комментарий от mailtestcpp2:
При любом порядке вычесления выражения (x++ && y++)...
ссылка 19:54:45
Комментарий от sack:
Блин, долго сомневался, унаследованы ли интерфейсы от Syste...
ссылка 19:43:13
Комментарий от sack:
Согласен с остальными: никакого отношения к ООП вопрос не и...
ссылка 19:39:11
Комментарий от sack:
akaDElpher, +1
Когда сам столкнулся с этим вопросом, сразу ...
Статистика

Тестов: 152, вопросов: 8531. Пройдено: 366433 / 1771943.

Java - Основы - Синтаксис (language)

Вопросы по синтаксису Java (элементы языка java)

Достаточно обширный раздел вопросов покрывает следующие темы:

  • Ключевые слова - проверяет знание ключевых слов java, например for, switch, instanceof, class, throws и так далее.
  • Операции - логические операции, арифметические, побитовые операции и так далее
  • Управляющие конструкции которые отвечают за ход выполнения программы: циклы for, while, операции ветвления (if-else, switch)
  • Основные типы данных - примитивы и их обертки, класс String
  • Обработка исключительных ситуаций и ошибок, иерархия исключений: Throwable, Exception, Error, RuntimeException.

Вопросы проверяют как практические так и теоретические знания. Практические вопросы содержат фрагменты кода и требуют предельной внимательности при вычисления выражений в уме.

Вопросы касающиеся нововведений языка java (аннотации/annotations, параметризируемые типы/generics) сведены к минимуму. Вместо этого больше проверяется внимательность тестируемого и понимание им некоторых java-специфических нюансов программирования.

На что обратить внимание

При ответе на вопросы по элемнтам языка java следует помнить, что java является регистро-зависимым языком, а также то, что в java есть некоторые ключевые слова, которые не используются, но являются зарезервированными - например goto.

При ответе на вопросы по управляющим конструкциям следите за блочностью, а также переходами continue, break.

При обработке исключительных ситуаций, возникших в коде, обратите внимание на видимость переменных в блоках try-catch-finally.

Пример вопросов по синтаксису и элементам языка.

Ниже представлено несколько примеров для того, чтобы продемонстрировать ответы на типичные вопросы данного раздела:

Пример 1

Каким будет результат компиляции и выполнения данного кода:


public class Switch {
    public static void main(String[] args) {
        int i = 3;
        switch(i) {
            default:
                System.out.println("default");
            case 1:
                System.out.println("1");
            case 2:
                System.out.println("2");
        }
    }
}

На первый взгляд может показаться, что правильный ответ - "default". Но если присмотреться внимательнее, в операторе switch пропущены ключевые слова break. Это значит, что после выполнения одного блока case ход выполнения программы будет идти на следующий оператор case и так далее. то есть правильным ответом будет:


default
1
2

Пример 2

Что напечатает следующий код:


int i = 0;
System.out.print(++i);
System.out.print(i++);
System.out.print(i);

Тут нужно понимать разницу между префиксными и постфиксными операциями инкремента и декремента. В постфиксных операциях значение сначала используется а затем изменяется, а в префиксных - наоборот.

Значит во фрагменте кода первым будет напечатано число 1. Затем значение 1 опять будет использовано для печати и только потом увеличено на 1. Третьим будет напечатано число 2. Итого ответ - 112.