Смекни!
smekni.com

Характеристики этих типов приведены в таблице.

Имя

Разрядность Диапазон

double

64

1. 7е-308.. 1. 7е+ 308

float

32

3. 4е-038.. 3. 4е+ 038

Символы

Поскольку в Java для представления символов в строках используется кодировка Unicode, разрядность типа char в этом языке — 16 бит. В нем можно хранить десятки тысяч символов интернационального набора символов Unicode. Диапазон типа char — 0..65536. Unicode — это объединение десятков кодировок символов, он включает в себя латинский, греческий, арабский алфавиты, кириллицу и многие другие наборы символов.

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

Тип boolean

В языке Java имеется простой тип boolean, используемый для хранения логических значений. Переменные этого типа могут принимать всего два значения — true (истина) и false (ложь). Значения типа boolean возвращаются в качестве результата всеми операторами сравнения, например (а < b).

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

Основная форма объявления переменной такова:

тип идентификатор [ = значение];

Тип — это либо один из встроенных типов, то есть, byte, short, int, long, char, float, double, boolean, либо имя класса или интерфейса. Ниже приведено несколько примеров объявления переменных различных типов. Некоторые примеры включают в себя инициализацию начального значения. Переменные, для которых начальные значения не указаны, автоматически инициализируются нулем.

int a, b, с; Объявляет три целых переменных а, b, с.
int d = 3, e, f = 5; Объявляет ещё целые переменные, инициализирует d и f.
byte z = 22; Инициализирует z.
double pi = 3. 14159; Объявляет число пи.
char x = 'x'; Переменная х получает значение 'х'.

4.2. Операторы

В Java имеется 44 встроенных оператора. Их можно разбить на 4 класса - арифметические, битовые, операторы сравнения и логические.

Арифметические операторы

Арифметические операторы используются для вычислений так же как в алгебре (см. таблицу со сводкой арифметических операторов ниже). Допустимые операнды должны иметь числовые типы. Например, использовать эти операторы для работы с логическими типами нельзя, а для работы с типом char можно, поскольку в Java тип char — это подмножество типа int.

Оператор

Результат Оператор

Результат

+

Сложение

+ =

Сложение с присваиванием

-

вычитание (также унарный минус)

-=

Вычитание с присваиванием

*

Умножение

* =

Умножение с присваиванием

/

Деление

/=

Деление с присваиванием

%

деление по модулю

%=

Деление по модулю с присваиванием

++

Инкремент

--

декремент

Операторы отношения

Для того, чтобы можно было сравнивать два значения, в Java имеется набор операторов, описывающих отношение и равенство. Список таких операторов приведен в таблице.

Оператор

Результат

==

равно

!=

не равно

>

больше

<

меньше

>=

больше или равно

<=

меньше или равно

Булевы логические операторы

Булевы логические операторы, сводка которых приведена в таблице ниже, оперируют только с операндами типа boolean. Все бинарные логические операторы воспринимают в качестве операндов два значения типа boolean и возвращают результат того же типа.

Оператор

Результат

Оператор

Результат

&

логическое И (AND)

&=

И (AND) с присваиванием

|

логическое ИЛИ (OR)

=

ИЛИ (OR) с присваиванием

^

логическое исключающее ИЛИ (XOR)

^=

исключающее ИЛИ (XOR) с присваиванием

||

оператор OR быстрой оценки выражений (short circuit OR)

==

равно

&&

оператор AND быстрой оценки выражений (short circuit AND)

!=

не равно

!

логическое унарное отрицание (NOT)

?:

тернарный оператор if-then-else

Глава 5. Управление выполнением программы

Условные операторы

if-else

В обобщенной форме этот оператор записывается следующим образом:

if (логическое выражение) оператор1; [ else оператор2;]

Раздел else необязателен. На месте любого из операторов может стоять составной оператор, заключенный в фигурные скобки. Логическое выражение — это любое выражение, возвращающее значение типа boolean.

А вот полная программа, в которой для определения, к какому времени года относится тот или иной месяц, используются операторы if-else.

class IfElse {

public static void main(String args[]) { int month = 4;

String season;

if (month == 12 || month == 1 || month == 2) {

season = "Winter";

} else if (month ==3 || month == 4 || month == 5) {

season = "Spring";

} else if (month == 6 || month == 7 || month == 8) {

season = "Summer";

} else if (month == 9 || month == 10 || month == 11) {

season = "Autumn";

} else {

season = "Bogus Month";

}

System.out.println( "April is in the " + season + ".");

} }

После выполнения программы вы должны получить следующий результат:

С: &bsol;> java IfElse

April is in the Spring.

switch

Оператор switch обеспечивает ясный способ переключения между различными частями программного кода в зависимости от значения одной переменной или выражения. Общая форма этого оператора такова:

switch ( выражение ) { case значение1:

break;

case значение2:

break;

case значением:

break;

default:

}

Результатом вычисления выражения может быть значение любого простого типа, при этом каждое из значений, указанных в операторах case, должно быть совместимо по типу с выражением в операторе switch. Все эти значения должны быть уникальными литералами. Если же вы укажете в двух операторах case одинаковые значения, транслятор выдаст сообщение об ошибке.

Циклы

Любой цикл можно разделить на 4 части — инициализацию, тело, итерацию и условие завершения. В Java есть три циклические конструкции: while (с пред-условием), do-while (с постусловием) и for (с параметровм).

while

Этот цикл многократно выполняется до тех пор, пока значение логического выражения равно true. Ниже приведена общая форма оператора while:

[ инициализация; ]

while ( завершение ) {

тело;

[итерация;] }

Инициализация и итерация необязательны. Ниже приведен пример цикла while для печати десяти строк «tick».

class WhileDemo {

public static void main(String args[]) {

int n = 10;

while (n > 0) {

System.out.println("tick " + n);

n--;

}

} }

do-while

Иногда возникает потребность выполнить тело цикла по крайней мере один раз — даже в том случае, когда логическое выражение с самого на­чала принимает значение false. Для таких случаев в Java используется циклическая конструкция do-while. Ее общая форма записи такова:

[ инициализация; ] do { тело; [итерация;] } while ( завершение );

В следующем примере тело цикла выполняется до первой проверки условия завершения. Это позволяет совместить код итерации с условием завершения:

class DoWhile {

public static void main(String args[]) {

int n = 10;

do {

System.out.println("tick " + n);

} while (--n > 0);

} }

for

В этом операторе предусмотрены места для всех четырех частей цикла. Ниже приведена общая форма оператора записи for.

for ( инициализация; завершение; итерация ) тело;

Любой цикл, записанный с помо­щью оператора for, можно записать в виде цикла while, и наоборот. Если начальные условия таковы, что при входе в цикл условие за­вершения не выполнено, то операторы тела и итерации не выполняются ни одного раза. В каноническая форме цикла for происходит увеличение целого значения счетчика с минимального значения до определенного предела.

class ForDemo {

public static void main(String args[]) {

for (int i = 1; i <= 10; i++)

System.out.println("i = " + i);

} }

Следующий пример — вариант программы, ведущей обратный отсчет.

class ForTick {

public static void main(String args[]) {

for (int n = 10; n > 0; n--)

System.out.println("tick " + n);