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

на главную

Жанры

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) член недоступен за пределами своего класса.

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

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

Играть... в тебя

Зайцева Мария
3. Звериные повадки Симоновых
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Играть... в тебя

Одержимая (авторский сборник)

Дяченко Марина и Сергей
Фантастика:
фэнтези
научная фантастика
7.80
рейтинг книги
Одержимая (авторский сборник)

Ваше Сиятельство 7

Моури Эрли
7. Ваше Сиятельство
Фантастика:
боевая фантастика
аниме
5.00
рейтинг книги
Ваше Сиятельство 7

Рождественский детектив (сборник рассказов)

Полякова Татьяна Викторовна
Детективы:
прочие детективы
6.25
рейтинг книги
Рождественский детектив (сборник рассказов)

Иоанн Антонович

Сахаров Андрей Николаевич
10. Романовы. Династия в романах
Проза:
историческая проза
5.00
рейтинг книги
Иоанн Антонович

Жена неверного ректора Полицейской академии

Удалова Юлия
Любовные романы:
любовно-фантастические романы
4.25
рейтинг книги
Жена неверного ректора Полицейской академии

Товарищ "Чума" 2

lanpirot
2. Товарищ "Чума"
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Товарищ Чума 2

Двойник Короля 8

Скабер Артемий
8. Двойник Короля
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Двойник Короля 8

Газлайтер. Том 39

Володин Григорий Григорьевич
39. История Телепата
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
попаданцы
5.00
рейтинг книги
Газлайтер. Том 39

Сборник коротких эротических рассказов

Коллектив авторов
Любовные романы:
эро литература
love action
7.25
рейтинг книги
Сборник коротких эротических рассказов

Газлайтер. Том 19

Володин Григорий Григорьевич
19. История Телепата
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Газлайтер. Том 19

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

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

Выйду замуж за спасателя

Рам Янка
1. Спасатели
Любовные романы:
современные любовные романы
7.00
рейтинг книги
Выйду замуж за спасателя

Земля под ногами. Из истории заселения и освоения Эрец Исраэль. 1918-1948. Книга 2

Кандель Феликс Соломонович
Научно-образовательная:
история
5.00
рейтинг книги
Земля под ногами. Из истории заселения и освоения Эрец Исраэль. 1918-1948. Книга 2