Java руководство для начинающих - Шилдт Герберт (2012)
-
Год:2012
-
Название:Java руководство для начинающих
-
Автор:
-
Жанр:
-
Оригинал:Английский
-
Язык:Русский
-
Издательство:Вильямс
-
Страниц:316
-
ISBN:978-5-8459-1770-6
-
Рейтинг:
-
Ваша оценка:
Java руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги
Можно ли применять поразрядные операторы к значениям типа 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) член недоступен за пределами своего класса.
Модификатор доступа должен объявлению члена класса.
предшествовать
Помимо очереди, в программах часто используется структура данных, которая называется стеком. Обращение к стеку осуществляется по принципу “первым пришел —
последним обслужен“. Стек можно сравнить со стопкой тарелок, стоящих на столе.
Последней берется тарелка, поставленная на стол первой. Создайте класс Stack, реализующий стек для хранения символов. Используйте методы push () и pop () для
манипулирования содержимым стека. Пользователь класса Stack должен иметь возможность задавать размер стека при его создании. Все члены класса Stack, кроме
методов push () и pop (), должны быть объявлены как private. (Подсказка: в качестве заготовки можете воспользоваться классом Queue, изменив в нем лишь способ
доступа к данным.)
// Класс, реализующий стек для хранения символов,
class Stack {
private char stck[]; // Массив для хранения элементов стека
private int tos; // Вершина стека.
// построить пустой стек заданного размера
Stack(int size) {
stck = new char[size]; // выделить память для стека
tos = 0;
}