Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Java_Промышленное программирование1.doc
Скачиваний:
173
Добавлен:
13.04.2015
Размер:
5.58 Mб
Скачать

У казания и ответы

Глава 1

Вопрос 1.1.

Для того чтобы быть запускаемым приложением, класс может быть объявлен как public, так и friendly (без спецификатора). Метод main() не может быть объявлен как private, так как в этом случае он будет недоступен для выполнения. Для запуска приложения метод main() должен получить в качестве параметра массив строк, а не строку, иначе он будет являться просто перегруженным методом.

Ответ: 2, 3.

Вопрос 1.2.

Слово goto в Java не может быть использовано даже в качестве идентификатора, но оно является резервированным словом, так же как и const. Методы создаются только в классах. Операторы при программировании перегружать нельзя. Множественное наследование, как и циклическое, запрещено.

Ответ: 4, 5.

Вопрос 1.3.

Если переменная объявлена в методе, то до своего использования она должна быть проинициализирована, иначе компилятор сообщает об ошибке.

При инициализированном значении переменной args в методе print() ошибка не возникает, так как оператор сложения инициирует действия по преобразованию в строку всех участвующих в конкатенации объектов.

Параметр String[] args в main() – просто соглашение, и может быть использован любой приемлемый идентификатор для массива строк.

Ответ: 2.

Вопрос 1.4.

Все методы, производящие чтение из потока, являются потенциальными источниками возникновения ошибок ввода (IOException), которые должны быть обработаны в случае их появления.

Длина считываемых данных может не совпадать с длиной объявленного массива. Лишние данные будут просто утеряны.

Метод read(byte[] b) помещает считываемую информацию в массив, передаваемый ему в качестве параметра.

Ответ: 2.

Вопрос 1.5.

Методы main() являются корректно перегруженными, поэтому никаких ошибок не произойдет, а будет вызван только метод, запускающий приложение.

Ответ: 4.

Ответы:

1.1. 2), 3)

1.2. 4), 5)

1.3. 2)

1.4. 2)

1.5. 4)

Глава 2

Вопрос 2.1.

Строка float f=7.0; не скомпилируется, поскольку встроенный тип числа компонента с плавающей точкой – double. Следует компилировать

float f=(float) 7.0 или float f=7.0f;

Строка char c="z"; не скомпилируется, поскольку char должен определяться одинарными кавычками. Следует компилировать

char c='z';

Строка byte b=255; не скомпилируется, поскольку байт может определить числа между –128 и +127;

значение типа boolean может быть только true или false.

Ответ: 5, 6.

Вопрос 2.2.

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

Ответ: 1, 5.

Вопрос 2.3.

Идентификатор может начинаться с буквы или знака доллара ‘$’, или подчеркивания ‘_’. Идентификатор не может начинаться с других символов, как, например, цифра или ‘#’, причем последний не может находиться и внутри него.

Ответ: 3, 4, 5.

Вопрос 2.4.

Объявление а1 корректно, длина такого массива равна нулю. Объявление а5 некорректно, так как одновременно задано количество элементов для выделения памяти и определяются сами элементы, что является избыточной информацией.

Ответ: 1, 2, 4.

Ответы:

2.1. 5), 6)

2.2. 1), 5)

2.3. 3), 4), 5)

2.4. 1), 2), 4)

Глава 3

Вопрос 3.1.

Конструктор может быть объявлен только со спецификаторами public, private, protected или без спецификатора. В случае использования private и protected объект класса может быть создан с помощью статического метода класса, который вызывает такой конструктор.

Применение final или abstract при объявлении конструктора не имеет смысла, потому что он не участвует в наследовании.

Спецификатор volatile применяется только к полям классов, используемых потоками (Thread).

Применение native с конструктором не предусматривается спецификацией языка.

Ответ: 1, 5.