Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие Java.doc
Скачиваний:
16
Добавлен:
07.09.2019
Размер:
569.34 Кб
Скачать

Числа высокой точности

Java включает два класса BigInteger и BigDecimal, поддерживающих данные высокой точности. Ни один из них не имеет базового аналога.

Оба класса имеют методы, обеспечивающие аналогичные операциям, применяемым к переменным базовых типов.

BigInteger поддерживает целые числа произвольной точности (любой размерности) и исключает потерю информации во время операций.

BigDecimal аналогично для чисел с фиксированной точкой произвольной точности.

Переменные в Java

Переменная в Java является базовым элементом для хранения и оперирования информацией. Переменные имеют две характеристики: видимость и время жизни.

Объявление переменной

Все переменные должны быть объявлены прежде чем они могут быть использованы в выражениях. Общая форма объявления переменной имеет вид:

тип имя_перменной [=инициализатор].

Например:

int i, j;

byte b1=5, b2=-3;

double d1, d2=12.35;

char c='a';

В Java можно выполнять инициализацию при объявлении переменной значением выражения:

byte b1=5, b2=-3, b3=b1*b2;

В выражении инициализации может использоваться любой допустимый элемент, включая вызовы функций.

Область действия и время жизни переменной

В Java допустимо объявлять переменные в пределах любого блока, выделенного фигурными скобками. Область действия определяет ту часть программы, где переменная может быть использована в выражениях. Время жизни определяет область существования переменной.

{ int n = 1;

// здесь доступно только n

{ int k = 2;

// здесь доступны n, и k

}

// здесь доступно только n

// здесь k вне границы доступа

}

В Java-программах можно выделить две области действия переменной: класс и метод, в отличие от традиционного разделения на глобальную и локальную. Можно сформулировать общее правило – переменная объявленная в блоке не видна за его пределами. В случае если блоки вложены, то переменная внешнего блока видна во вложенном, но не наоборот. Кроме того, нельзя объявить переменную с одним именем во внешнем и вложенном блоках.

{ int n = 1; // недопустимо

{ int n = 2; // Variable 'n' is already defined in current block

}

}

Область действия переменной начинается с того места, в котором она объявлена в блоке. Т.о. объявление переменной в конце блока является бессмысленным.

При выходе из блока переменная разрушается, а ее значение не сохраняется. Следовательно время ее жизни, как и область действия, ограничивается этим блоком.

Операции в Java

В Java наследовал из C++ большинство имеющихся в нем операций, которые можно подразделить на четыре группы: арифметические, поразрядные, отношения и логические. В то же время Java имеет некоторые отличия.

Таблица

Операция

Действие

Арифметические

+ - * / %

сложение, вычитание, умножение, деление, остаток от деления

++ --

инкремент, декремент

+= -= *= /= %=

Сравнения

= = !=

сравнение

=

присвоение

Логические

&& || !

И, ИЛИ, НЕ

Битовые

& | ^ ~

И, ИЛИ, исключающее ИЛИ, НЕ

Сдвиговые

<< >> >>>

сдвиг влево, сдвиги вправо