Чтение онлайн

на главную - закладки

Жанры

Java: руководство для начинающих
Шрифт:

Каким должно быть имя конструктора? Приложение А. Ответы на вопросы для самопроверки 563 Имя конструктора должно совпадать с именем класса.

Какие действия выполняет оператор new? Оператор new выделяет память для объекта и выполняет инициализацию объекта, используя конструктор соответствующего класса.

Что такое “сборка мусора” и какие действия она выполняет? Зачем нужен метод finalize? “Сборка мусора” — это механизм удаления неиспользуемых объектов для повторного использования памяти, освобождаемой от объектов. Метод finalize вызывается для объекта непосредственно перед его удалением из памяти.

Что

означает ключевое слово this? Ключевое слово this означает ссылку на объект, для которого вызывается метод. Она автоматически передается методу.

Может ли конструктор иметь один или несколько параметров? Да, может.

Если метод не возвращает значения, то как следует объявить тип этого метода? Как void. Глава 5. Дополнительные сведения

о типах данных и операторах

Покажите два способа объявления одномерного массива, состоящего из 12 элементов типа double. double х[] = new double[12]; doublet] x = new double[12];

Покажите, как инициализировать одномерный массив целочисленными значениями от 1 до 5. int х[] = { 1, 2, 3, 4, 5 };

Напишите программу, в которой массив используется для нахождения среднего арифметического десяти значений типа double. Используйте любые десять чисел. // Среднее арифметическое 10 значений типа double, class Avg { public static void main(String args[]) { double nums[] = { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.1 }; double sum = 0; for(int i=0; i < nums.length; i++) sum += nums[i]; System.out.println("Average: " + sum / nums.length); } }

Измените программу, созданную в примере для опробования 5.1, таким образрм, чтобы она сортировала массив символьных строк. Продемонстрируйте ее работоспособность. // Демонстрация пузырьковой сортировки строк, class StrBubble { public static void main(String args[]) { String strs[] = { "this", "is", "a", "test", "of", "a", "string", "sort" }; int a, b; String t; int size; size = strs.length; // Количество сортируемых элементов // отобразить исходный массив System.out.print("Original array is:"); for (int i=0; i < size; i++) System.out.print(" " + strs[i]); System.out.println; // Пузырьковая сортировка строк. for(a=l; a < size; a++) for(b=size-l; b >= a; b—) { // поменять элементы местами при нарушении порядка их следования if(strs[b—1].compareTo(strs[b]) > 0) { t = strs[b-1]; strs[b-l] = strs[b]; strs[b] = t; } } // отобразить отсортированный массив System.out.print("Sorted array is:"); for (int i=0; i < size; i++) System.out.print(" " + strs[i]); System.out.println; } }

В чем отличие методов indexOf и lastIndexOf из класса String? Метод indexOf находит первое вхождение указанной подстроки, а метод lastlndexOf — ее последнее вхождение в текущей символьной строке.

Все символьные строки являются объектами типа String. Покажите, как вызываются методы length и charAt для строкового литерала ”1 like Java" (Мне нравится Java). Как ни странно, приведенный ниже вызов метода length вполне допустим. System.out.println("I like Java".length); В результате этого вызова на экран выводится значение 11. Аналогичным образом вызывается и метод charAt .

Расширьте класс Encode таким образом, чтобы в качестве ключа шифрования использовалась строка из восьми символов. Приложение А. Ответы на вопросы для самопроверки 565 // Видоизмененный способ

шифрования и дешифрования сообщений // с помощью операции поразрядного исключающего ИЛИ. class Encode { public static void main(String args[]) { String msg = "This is a test"; String encmsg = ""; String decmsg = ""; String key = "abcdefgi"; int j; System.out.print("Original message: "); System.out.println(msg); // зашифровать сообщение j = 0; for(int i=0; i < msg.length; i++) { encmsg = encmsg + (char) (msg.charAt(i) A key.charAt(j)); j++; if(j==8) j = 0; } System.out.print("Encoded message: "); System.out.println(encmsg); // дешифровать сообщение j = 0; for(int i=0; i < msg.length; i++) { decmsg = decmsg + (char) (encmsg.charAt(i) л key.charAt(j)); j++; if(j==8) j = 0; } « System.out.print("Decoded message: "); System.out.println(decmsg); } }

Можно ли применять поразрядные операторы к значениям типа double? Нет, нельзя.

Перепишите приведенную ниже последовательность операторов, воспользовавшись оператором ?. if(х < 0) у = 10; else у = 20; Ответ: у = х < 0 ? 10 : 20;

В приведенном ниже фрагменте кода содержится знак &. Какой оператор он обозначает: поразрядный или логический? Обоснуйте свой ответ. boolean а, Ь; // ... if(а & Ь) ... Это логический оператор, поскольку оба его операнда относятся к типу boolean.

Является ли ошибкой превышение верхней границы массива? Да. Является ли ошибкой использование отрицательных значений для доступа к элементам массива? Да. Значения индексов массива начинаются с нуля.

Как обозначается оператор сдвига вправо без знака? »>

Перепишите рассмотренный ранее в этой главе класс MinMax таким образом, чтобы в нем использовалась разновидность for-each цикла for. // Нахождение минимального и максимального значений в массиве, class MinMax { public static void main(String args[]) { int nums[] = new int[10]; int min, max; nums[0] = 99; nums[l] = -10; nums[2] = 100123; nums[3] = 18; nums[4] = -978; nums[5] = 5623; nums[6] = 4 63; nums[7] = -9; nums[8] = 287; nums[9] = 4 9; min = max = nums[0]; for(int v : nums) { if(v < min) min = v; if(v > max) max = v; } System.out.println("min and max: " + min + " " + max); } }

В примере для опробования 5.1 была реализована пузырьковая сортировка. Можно ли в программе из этого примера заменить обычный цикл for его разновидностью for-each? Если нельзя, то почему? Циклы for, выполняющие сортировку в классе Bubble, нельзя преобразовать в вариант for-each. Что касается внешнего цикла, то текущее значение его переменной используется во внутреннем цикле. А что касается внутреннего цикла, то для перестановки следующих не по порядку элементов требуются операции присваивания значений элементам массива, чего нельзя добиться в варианте for-each.

Можно ли управлять оператором switch с помощью объектов типа String? Можно, начиная с версии JDK 7. Глава 6. Дополнительные сведения

о методах и классах

Допустим, имеется следующий фрагмент кода: class X { private int count; Является ли допустимым приведенный ниже фрагмент кода? class Y { public static void main(String args[]) { X ob = new X; ob.count = 10;. Нет. Закрытый (private) член недоступен за пределами своего класса.

Модификатор доступа должен объявлению члена класса. предшествовать

Поделиться:
Популярные книги

Последний Паладин. Том 2

Саваровский Роман
2. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 2

Потомок бога

Решетов Евгений Валерьевич
1. Локки
Фантастика:
попаданцы
альтернативная история
аниме
сказочная фантастика
5.00
рейтинг книги
Потомок бога

Сапер. Том II

Вязовский Алексей
2. Сапер
Фантастика:
альтернативная история
4.25
рейтинг книги
Сапер. Том II

Убивать чтобы жить 4

Бор Жорж
4. УЧЖ
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 4

Я еще не князь. Книга XIV

Дрейк Сириус
14. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я еще не князь. Книга XIV

Лекарь

Первухин Андрей Евгеньевич
1. Лекарь
Фантастика:
фэнтези
попаданцы
альтернативная история
7.50
рейтинг книги
Лекарь

История московских кладбищ. Под кровом вечной тишины

Рябинин Юрий Валерьевич
Научно-образовательная:
история
культурология
5.75
рейтинг книги
История московских кладбищ. Под кровом вечной тишины

Девочка из прошлого

Тоцка Тала
3. Айдаровы
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Девочка из прошлого

Я не бог. Книга XXXIV

Дрейк Сириус
34. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я не бог. Книга XXXIV

Последний Герой. Том 3

Дамиров Рафаэль
3. Последний герой
Фантастика:
попаданцы
альтернативная история
фантастика: прочее
5.00
рейтинг книги
Последний Герой. Том 3

Шайтан Иван

Тен Эдуард
1. Шайтан Иван
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Шайтан Иван

Война

Валериев Игорь
7. Ермак
Фантастика:
боевая фантастика
альтернативная история
5.25
рейтинг книги
Война

Дважды одаренный. Том VII

Тарс Элиан
7. Дважды одаренный
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Дважды одаренный. Том VII

Настольная книга по теологии. Библейский комментарий АСД Том 12

Церковь христиан адвентистов седьмого дня
Научно-образовательная:
религиоведение
5.00
рейтинг книги
Настольная книга по теологии. Библейский комментарий АСД Том 12