
- •Глава 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
84 Часть I. Язык Java
// арифметика с использованием double-типов
System.out.println("ХпАрифметика для вещественных значений"); double da = I + I; double db = da * 3; double dc = db / 4; double dd = dc — a; double de = -dd;
System.out.println("da = " + da); System.out.println("db = " + db); System.out.println("dc = " + dc) ; System.out.println("dd = " + dd); System.out.println("de = " + de); } • }
Вывод этой программы:
Целочисленная арифметика
а = 2
Ь = б
с = 1
d = -1
е = 1
Арифметика для вещественных значений
da = 2
db = 6
dc = 1.5
dd = -0.5
de = 0.5
Деление по модулю
Операция деления по модулю (%) вычисляет остаток от операции деления. Ее можно применять к типам с плавающей точкой и к целым. (Это отличается от C/C++, в которых данную операцию можно применять только к целым типам.) Следующий пример демонстрирует операцию %:
I/ Демонстрирует операцию %. class Modulus (
public static void main(String args[]) { int x = 42; double у = 42.3;
System.out.println("x mod 10 = " + x % 10); System.out.println("y mod 10 = " + у % 10); } }
Глава 4. Операции 85_
После выполнения программы вы получите следующий вывод:
х mod 10 = 2 у mod 10=2.3
Арифметические операции присваивания
В Java обеспечены специальные операции, которые можно использовать для комбинирования арифметических операций с присваиванием. Как вы, вероятно, знаете, операторы, подобные следующему, весьма обычны в программировании:
а = а + 4;
В Java вы можете переписать этот оператор так:
а += 4;
Данная версия использует операцию присваивания со сложением +=. Оба оператора выполняют одно и то же — увеличивают значение на 4.
Вот другой пример:
а = а % 2; ^
который можно выразить так:
а %= 2;
В этом случае операция %= получает остаток от деления а на 2 и помещает этот результат обратно в а.
Имеются операции присваивания для всех арифметических и бинарных операций. Таким образом, любой оператор формы
var = var op expression;
где var — идентификатор переменной; op—выполняемая операция; expression — выражение;
можно переписать как
var op = expression
Операции присваивания обеспечивают два преимущества. Во-первых, они немного сокращают объем клавиатурного ввода, потому что короче эквивалентных им длинных форм. Во-вторых, исполнительная система Java реализует их гораздо эффективнее, чем их длинные эквиваленты. По этим причинам в профессионально составленных Java-программах вы часто увидите использование именно этих форм операций присваивания.
Пример программы, которая использует несколько операций присваивания с арифметическими (в форме ор =):
86 Часть I. Язык Java
// Демонстрирует некоторые операции присваивания, class OpEquals {
public static void main(String args[]) (
int a = I;
int b = 2;
int с = 3;
a += 5;
b *= 4; с += a * b; с %= 6;
System.out.println("a = " + a); System.out.println("b = " + b); System.out.println("c = " + c) ; } }
Вывод этой программы:
а = 6 b = 8 с = 3
Инкремент и декремент
В Java операции инкремента и декремента обозначаются как ++ и — (по составу операндов это унарные операции). Они были представлены в главе 2, а здесь будут обсуждены подробнее. Указанные операции обладают некоторыми специальными свойствами, которые делают их весьма интересными. Начнем с точного рассмотрения того, что операции инкремента и декремента делают.
Операция инкремента увеличивает свой операнд на единицу, а операция декремента — уменьшает (тоже на единицу). Например, следующий оператор:
х = х + 1;
можно переписать с помощью операции инкремента так:
х++;
Точно так же оператор
х = х — 1;
эквивалентен
х — ;
Эти операции уникальны тем, что могут появляться как в постфиксной форме, где они следуют за операндом, как только что показано, так и в пре-