
- •Глава 2
- •Глава 2. Обзор языка Java 31_
- •Глава 2. Обзор языка Java
- •Глава 2. Обзор языка Java 37
- •Глава 2. Обзор языка Java 39
- •Глава 2. Обзор языка Java 41
- •Часть I. Язык Java
- •Глава 2. Обзор языка Java 43_
- •Глава 2. Обзор языка Java 45_
- •Глава 2. Обзор языка Java 47
- •Глава 2. Обзор языка Java 49_
- •Часть I. Язык Java
- •Глава 2. Обзор языка Java 57
- •Глава 3
- •Глава 3. Типы данных, переменные и массивы 53
- •Глава 3. Типы данных, переменные и массивы _ 55
- •Глава 3. Типы данных, переменные и массивы
- •Глава 3. Типы данных, переменные и массивы 59_
- •Глава 3. Типы данных, переменные и массивы 61_
- •Глава 3. Типы данных, переменные и массивы
- •Глава 3. Типы данных, переменные и массивы 65_
- •Часть I. Язык Java
- •Глава 3. Типы данных, переменные и массивы 67_
- •Часть I. Язык Java
- •Глава 3. Типы данных, переменные и массивы 69_
- •Глава 3. Типы данных, переменные и массивы 71_
- •Глава 3. Типы данных, переменные и массивы 73_
- •Глава 3. Типы данных, переменные и массивы
- •Часть I. Язык Java
- •Глава 3. Типы данных, переменные и массивы _ 77_ Эта программа генерирует следующий вывод:
- •Глава 3. Типы данных, переменные и массивы 79
- •Часть I. Язык Java
- •Глава 3. Типы данных, переменные и массивы 81_
- •Глава 4
- •Глава 4. Операции 83
- •84 Часть I. Язык Java
- •Глава 4. Операции 85_
- •Глава 4. Операции 87_
- •88_ Часть I. Язык Java
- •Глава 4. Операции 89
- •Глава 4. Операции 91_
- •Глава 4. Операции 93_
- •Глава 4. Операции 95_
- •Глава 4. Операции 97_
- •Глава 4. Операции 99
- •Глава 4. Операции 101
- •Глава 4. Операции 103
- •104 Часть I, Язык Java
- •Глава 4. Операции 105
- •Глава 5
- •Глава 5, Управляющие операторы 107
- •Глава 5. Управляющие операторы 109
- •110 Часть I. Язык Java
- •Глава 5, Управляющие операторы 111
- •Глава 5. Управляющие операторы 113
- •Глава 5. Управляющие операторы
- •Глава 5. Управляющие операторы 117
- •118 Часть I. Язык Java
- •Глава 5. Управляющие операторы 119
- •Глава 5. Управляющие операторы 121
- •122 Часть I. Язык Java
- •Глава 5. Управляющие операторы 123
- •Глава 5. Управляющие операторы 125
- •Глава 5. Управляющие операторы 127
- •Глава 5. Управляющие операторы 129
- •Глава 5. Управляющие операторы
- •Глава 6
- •134 Часть I. Язык Java
- •Глава 6. Введение в классы 135
- •136 Часть I. Язык Java
- •Глава 6. Введение в классы _ 137
- •Глава 6. Введение в классы 139
- •Глава 6. Введение в классы
- •Глава 6. Введение в классы 143
- •Глава 6. Введение в классы 145
- •Глава 6. Введение в классы 147
- •Глава 6. Введение в классы 149
- •Глава 6. Введение в классы 151
- •154 Часть I. Язык Java
- •Глава 6. Введение в классы 155
- •Глава 6. Введение в классы 157
- •Глава 7
- •Глава 7. Методы и классы 159
- •Глава 7. Методы и классы . 161
- •Глава 7. Методы и классы • 163
- •164 Часть I. Язык Java
- •Глава 7. Методы и классы 165
- •Глава 7. Методы и классы 167
- •Глава 7. Методы и классы 169
- •Глава 7, Методы и классы 171-
- •Глава 7. Методы и классы 173
- •Глава 7. Методы и классы 775
- •Глава 7. Методы и классы 177
- •Глава 7. Методы и классы ' 179
- •Глава 7. Методы и классы 1_81_
- •Глава 7. Методы и классы 1_83
- •184 '• Часть I. Язык Java
- •Глава 7. Методы и классы . 185
- •Глава 7. Методы и классы 187
- •Глава 8
- •Глава 8. Наследование 191
- •Глава 8. Наследование 193
- •Глава 8, Наследование 195
- •Глава 8. Наследование 197
- •198 Часть I. Язык Java
- •Глава 8, Наследование 199
- •Глава 8. Наследование 201
- •202 Часть I. Язык Java
- •Глава 8. Наследование 203
- •Глава 8. Наследование 205
- •Глава 8. Наследование 207
- •Глава 8. Наследование 209
- •Глава 8. Наследование 211
- •Глава 8. Наследование 213
- •Глава 8. Наследование 215
- •Глава 8. Наследование 217
- •Глава 12
- •Глава 12. Ввод/вывод, апплеты и другие темы 303_
- •Глава 12. Ввод/вывод, апплеты и другие темы . 305
- •Глава 12. Ввод/вывод, алплеты и другие темы 307
- •Глава 12. Ввод/вывод, апплеты и другие темы 309
- •Глава 12. Ввод/вывод, апплеты и другие темы 311
- •Глава 12. Ввод/вывод, апплаты и другие темы 313
- •314 Часть I. Язык Java
- •Глава 12. Ввод/вывод, апплеты и другие темы 315
- •Глава 12. Ввод/вывод, апплеты и другие темы 317
- •Глава 12. Ввод/вывод, апплеты и другие темы 319
- •320 Часть I. Язык Java
- •Глава 12. Ввод/вывод, апплеты и другие темы 321
- •Глава 12. Ввод/вывод, апплеты и другие темы 323
- •324 Часть I. Язык Java
- •Глава 12. Ввод/вывод, апплеты и другие темы 325
- •326 Часть I. Язык Java
- •Глава 12. Ввод/вывод, апплегы и другие темы 327
Глава 4. Операции 87_
фиксной форме, где они предшествуют операнду. В предыдущих примерах нет никакого различия между префиксными и постфиксными формами. Однако, когда инкрементная и/или декрементная операции — часть большего выражения, тогда появляется тонкое, но все же существенное, различие между этими двумя формами. В префиксной форме операнд инкремен-тируется или декрементируется прежде, чем значение используется в выражении. В постфиксной форме предыдущее значение сначала используется в выражении и только потом операнд изменяется. Например:
х = 42; у = ++х;
В этом случае в у устанавливается значение 43, потому что инкремент выполняется прежде, чем х назначается переменной у. Таким образом, строка у = ++х; является эквивалентом следующих двух операторов:
х = х + 1;
у = х;
Однако, если записать так:
х = 42;
у = х++;
значение х присваивается переменной у перед тем, как выполняется операция инкремента, так что значение у равно 42. Конечно, в обоих случаях в х устанавливается значение 43. Здесь строка у = х++; является эквивалентом двух следующих операторов:
У = х;
X = X + 1;
Рассмотрим программу, демонстрирующую операцию инкремента:
// Демонстрирует ++. class IncDec {
public static void main(String argsf]) {
int a = 1;
int b = 2;
int c;
int d;
с = ++b;
d = a++;
с++;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
88_ Часть I. Язык Java
System.out.println("d = " + d) ; } }
Вывод этой программы:
а = 2
Ь = 3
с = 4
d = 1
Поразрядные операции
В Java определено несколько поразрядных (bitwise) операций, которые могут применяться к целым типам long, int, short, char и byte. Эти операции действуют на индивидуальные биты1 их операндов. Они подытожены в табл. 4.2.
Таблица 4.2. Поразрядные операции Java
Операция Результат Поразрядное унарное отрицание (bitwise unary NOT) & Поразрядное И (bitwise AND) I Поразрядное ИЛИ (bitwise OR) " Поразрядное исключающее ИЛИ (bitwise exclusive OR (XOR)) » Сдвиг вправо (Shift right) »> Сдвиг вправо с заполнением старшего бита нулем (Shift right zero fill) « Сдвиг влево (Shift left) &= Присваивание с поразрядным И (bitwise AND assignment) ! = Присваивание с поразрядным ИЛИ (bitwise OR assignment) А= Присваивание с поразрядным исключающим ИЛИ (bitwise exclusive OR (XOR) assignment) »= Присваивание со сдвигом вправо (Shift right assignment) >»= Присваивание со сдвигом вправо и заполнением старшего бита нулем (Shift right zero fill assignment) «= Присваивание со сдвигом влево (Shift left assignment) |
1 Поэтому их часто называют битовыми. — Примеч. пер.