
- •Глава 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
Глава 3. Типы данных, переменные и массивы
Таблица 3,2. Ширина и диапазоны типов с плавающей точкой
Имя |
Ширина в битах |
Диапазон |
double |
64 |
от 1.7е-308 до 1.7е+308 |
float |
32 |
от 3.4е-038 до 3.4е+038 |
Рассмотрим каждый из этих типов.
Тип float
Тип float определяет значение с одинарной точностью, которое использует 32 бита памяти. Вычисления с одинарной точностью быстрее на некоторых процессорах, а значения занимают половину пространства значений двойной точности. Но тип оказывается неточным, когда его значения становятся или очень большими, или очень маленькими. Переменные типа float полезны, когда нужен дробный компонент, но не требуется большой степени точности. Например, тип float может быть полезен при представлении долларовых цен с учетом центов.
Пример объявления float-переменных:
float hightemp, lowtemp;
Тип double
Тип двойной точности, обозначаемый ключевым словом double, для хранения значений использует 64 бита памяти. На некоторых современных процессорах, которые были оптимизированы для высокоскоростных математических вычислений, операции с двойной точностью на самом деле выполняются быстрее, чем с одинарной. Все трансцендентные математические функции, типа sin(), cos() и sqrt(), возвращают double-значения. Когда нужно поддержать точность во многих итерационных вычислениях или манипулировать с многозначными числами, double — лучший выбор.
Ниже представлена короткая программа, которая использует переменные двойной точности, чтобы вычислить площадь круга.
// Вычислить площадь круга, class Area {
public static void main(String args[]) { double pi, r, a;
r = 10.8; // радиус круга
pi = 3.1416; //ПИ приближенно
a=pi*r*r; // вычисляет площадь
58 • Часгь /. Язык Java
System.out.println("Площадь круга равна " + а); -} }
Символьный тип (char)
Для хранения символов Java использует тип char. Однако, программисты C/C++, остерегайтесь: тип char в Java — не тот же, что в С или C++. В C/C++ char — целочисленный тип шириной в 8 бит. В Java это не так. Вместо этого, для представления символов Java использует Unicode. Unicode определяет полный набор интернациональных символов, который может представлять все символы, находящиеся во всех человеческих языках. Он объединяет множество наборов символов, таких как латинский, греческий, арабский, кириллица, иврит, Katakana, Hangul и многие другие. Для этой цели он требует 16 бит. Таким образом, char в Java — 16-разрядный тип данных. Диапазон его значений варьируется от 0 до 65 536. Нет никаких отрицательных символов. Стандартный набор символов, известный как ASCII, все еще располагается в интервале значений от 0 до 127, как обычно, а расширенный 8-разрядный набор символов, ISO-Latin-1, в диапазоне от О до 255. Так как язык Java разработан для записи апплетов "всемирного использования", то имеет смысл, чтобы для представления символов он использовал Unicode. Конечно, использование Unicode несколько неэффективно для языков, подобных английскому, немецкому, испанскому или французскому, чьи символы могут легко содержаться в 8 битах. Но такова цена, которая должна быть заплачена за глобальную мобильность.
Более полную информацию о Unicode можно найти по адресу http:// www.unicode.org.
Вот программа, которая демонстрирует char-переменные:
// Демонстрирует тип данных char, class CharDemo {
public static void main(String args[]) { char chl, ch2;
chl = 88; // код для Х
ch2.= 'Y';
System.out.print("chl и ch2: "); System.out.println(chl + " " + ch2); } }