
- •Глава 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
118 Часть I. Язык Java
В этом примере, выражение (—п > 0) объединяет декремент п и проверку на нуль в одно выражение. Вот как это работает. Сначала выполняется оператор —п, декрементируя п и возвращая его новое значение. Затем это значение сравнивается с нулем. Если оно больше нуля, цикл продолжается, в противном случае цикл заканчивается.
Цикл do while особенно полезен, когда вы обрабатываете выбор из меню, потому что обычно требуется, чтобы тело цикла меню выполнялось по крайней мере один раз. Рассмотрим следующую программу, которая реализует очень простую справочную систему для Java-операторов выбора и повторения:
// Использование do-while для обработки выборки из меню // — простая справочная (help) система, class Menu {
public static void main(String args[J) throws Java.io.lOException { char choice;
do {
System.out.println("Справка:");
System.out.println(" 1. if");
System.out.println(" 2. switch");
System.out.println(" 3. while");
System.out.println(" 4. do while"); •System.out.println(" 5. for\n");
System.out.println("Выберите раздел:");
choice = (char) System.in.read(); ^
} while( choice < '1' j | choice > ' 5') ;
System.out.println("\n");
switch(choice) { case '1':
System.out.println("Условный оператор if:\n");
System.out.println("if(condition) statementl;");
System.out.println("else statement2;");
break; case '2':
System.out.println("Оператор выбора switch:\n") ,•
System.out.println("switch(expression) {");
System.out.println(" case value:");
System.out.println(" последовательность операторов");
System.out.println(" break;");
System.out.println(" // ...");
System.out.println("}");
break;
Глава 5. Управляющие операторы 119
case '3':
System.out.println("Оператор цикла while:\n");
System.out.println("while(condition) тело цила;");
break; case '4 ' :
System.out.println("Оператор цикла do while:\n");
System.out.println("do {");
System.out.println(" тело цикла;");
System.out.println("} while (condition);");
break; case '5':
System.out.println("Оператор цикла for:\n");
System.out.print("for(init; condition; iteration));
System.out.println(" тело цикла;");
break; } } }
Пример вывода, выполненного этой программой:
Справка:
if
switch
while
do while
for
Выберите раздел: 4
Оператор цикла do while: do {
тело цикла; } while (condition);
Чтобы проверить, верно ли пользователь сделал правильный выбор, здесь используется цикл do while. Если правильного выбора нет, то номер раздела справки запрашивается повторно. Так как меню должно быть отображено по крайней мере один раз, то do while — идеальный цикл для выполнения этой задачи.
Несколько других замечаний относительно этого примера: обратите внимание, ЧТО СИМВОЛЫ ЧИТаЮТСЯ С Клавиатуры С ПОМОЩЬЮ ВЫЗОВа System, in. read () .
Это одна из функций консольного ввода языка Java. Хотя консольные методы ввода/вывода Java не будут обсуждаться подробно до главы 12, System, in. read о используется здесь для того, чтобы узнать о выборе пользователя. Он читает символы при стандартном вводе (возвращая целые числа, что объясняет, почему возвращаемое значение приводится к типу char).
120 Часть I. Язык Java
По умолчанию стандартный ввод является буферизированной строкой, так что вы должны нажать клавишу <Enter>, прежде чем любые символы, которые вы печатаете, будут переданы вашей программе.
Консольный ввод Java весьма ограничен и неудобен для работы. Кроме того, большинство реальных Java-программ и апплетов являются графическими и работают с окнами. По этим причинам, в данной книге консольный ввод используется не слишком часто. Однако в этом контексте он полезен. Еще один момент: поскольку используется метод System, in. read{ ), программа должна определить предложение
throws Java. io. lOException
Эта строка необходима для обработки ошибок ввода и является частью системы обработки особых ситуаций языка Java, которая обсуждается в главе 10.
Оператор цикла for
Простая форма цикла for была представлена в главе 2. Далее вы увидите, что это мощная и гибкая конструкция. Общая форма оператора for:
for (initialization; condition; iteration) { // тело цикла
Если повторяется только один оператор, фигурные скобки не нужны.
Цикл for работает следующим образом. В начале работы цикла выполняется выражение initialization. В общем случае это выражение устанавливает значение переменной управления циклом, которая действует как счетчик. Важно понять, что выражение инициализации выполняется только один раз. Затем оценивается condition. Оно должно быть булевским выражением и обычно сравнивает переменную управления циклом с некоторым граничным значением. Если это выражение — true, то отрабатывают операторы из тела цикла, если — false, цикл заканчивается. Далее выполняется часть цикла iteration. Обычно это выражение, которое осуществляет инкремент-ные или декрементные операции с переменной управления циклом. Затем цикл реализовывает итерации. В каждом проходе цикла — - сначала оценивается условное выражение, потом выполняется тело цикла и затем — выражение iteration. чЭтот процесс повторяется до тех пор, пока управляющее выражение не станет false.
Ниже приводится версия программы "тиков", которая использует цикл for:
// Демонстрирует for-цикл. class ForTick {
public static void main (String args[]) { int n;