
- •Глава 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
Глава 2. Обзор языка Java 47
if(х < у) { // начало блока
х = у;
у - 0; } // конец блока
Если х меньше, чем у, то оба оператора внутри блока будут выполнены. Таким образом, два оператора внутри блока образуют логическое целое, и один оператор нельзя выполнять без другого. Здесь важно, что всякий раз, когда необходимо связать логически два и более операторов, создается блок.
Рассмотрим другой пример. Следующая программа использует блок кода в теле цикла for.
/* Демонстрирует блок кода.
Назовите этот файл "BlockTest.Java" */ class BlockTest {
public static void main(String args[]) {
int х, у;
у = 20;
// телом этого цикла является блок for(x = 0; х<10; х++) {
System.out.println("Значение х: " + х); System.out.println("Значение у: " + у); У = У - 2; } } }
Вывод программы:
Значение х: О
Значение у: 20
Значение х: 1
Значение у: 18
Значение х: 2
Значение у: 16
Значение х: 3
Значение у: 14
Значение х: 4
Значение у: 12
Значение х: 5
Значение у: 10
Значение х: 6
Значение у: 8
Значение х: 7
Значение у: 6
Значение х: 8
48 Часть I. Язык Java
Значение у: 4
Значение х: 9 .
Значение у: 2
В этом случае тело цикла for содержит блок кода, а не одиночный оператор. Таким образом, во время каждой итерации цикла будут выполняться три оператора внутри блока. Этот факт, конечно, и подтверждает вывод, сгенерированный программой.
Как вы увидите позже в этой книге, блоки кода обладают дополнительными свойствами и применениями.
Лексические вопросы
Теперь, когда рассмотрены некоторые короткие Java-программы, самое время формально описать мельчайшие элементы языка Java. Java-программа — это набор пробельных символов (whitespace), идентификаторов, комментариев, констант, операций, разделителей и ключевых слов. Операции описаны в следующей главе. Остальное — здесь.
Пробельные символы
Java является языком свободной формы (free-form language1). Это означает, что вам не нужно следовать каким бы то ни было правилам структурированного расположения текста. Например, как бы программа Example не была введе-. на — вся единой строкой или размещена на экране любым другим способом, который вам понравился при вводе — в ней всегда существует хотя бы один пробельный символ между элементами записи исходного кода. В языке Java к пробельным символам относятся пробел (space), символ табуляции (tab) или новой строки (rtewline).
Идентификаторы
Идентификаторы используются в качестве имен классов, методов и переменных. Идентификатор может быть любой последовательностью букв верхнего и нижнего регистров, чисел или символов подчеркивания и знака коммерческого S ($). Он не должен начинаться с цифры, чтобы не вступать в конфликт с числовой константой. Напомним также, что язык Java чувст-. вителен к регистру, так что value есть идентификатор, отличающийся от value. Несколько примеров правильных идентификаторов:
AvgTemp count а4 $test this_is_ok
1 Free-form language — язык свободной формы (синтаксис которого не связан позиционными или форматными ограничениями). — Примеч. пер.
Глава 2. Обзор языка Java 49_
Неправильные имена:
2count high-temp Not/ok
Константы
Постоянные значения в Java создаются с использованием их литерального представления. Вот несколько констант:
100 98.6 'X' "This is a test"
Первая константа специфицирует целое число, следующая — числовое значение с плавающей точкой, третья — символ и последняя — строку. Константу можно использовать везде, где допустимо значение ее типа.
Комментарии
Как говорилось ранее, в Java определены несколько типов комментариев. Два вы уже видели: однострочный и многострочный. Третий тип называется документационный комментарий (documentation comment). Этот тип комментария используется для производства HTML-файла, который документирует вашу программу. Документационный комментарий начинается с последовательности символов /** и заканчивается последовательностью */.
Разделители
В Java существуют несколько символов, которые используются как разделители. Чаще всего встречается точка с запятой (;). Как вы уже видели, он используется для завершения оператора. Разделители представлены в табл. 2.2.
Таблица 2.2. Разделители, применяемые в Java Символ Имя Цель
() Круглые скобки Используются, чтобы ограничивать списки пара-
метров в определениях методов и вызовах процедур. Используются также для определения предшествования в выражениях, содержат выражения в управляющих операторах и в операторе приведения типов
{ } Фигурные скобки Используются для ограничения значений автома-
тически инициализированных массивов, а также для определения блоков кода в классах, методах и локальных областях действия
[ ] Квадратные скобки Используются в объявлениях массивов, а также
для указания элементов массивов
50