Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
49
Добавлен:
12.05.2015
Размер:
1.82 Mб
Скачать

Глава 3. Типы данных, переменные и массивы 59_

Эта программа отображает на экране следующий результат:

chl и ch2: X Y

Обратите внимание, что переменной сы назначено значение 88, которое является значением ASCII (и Unicode) и соответствует букве X. Как говори­лось выше, набор символов ASCII занимает первые 127 значений в наборе символов Unicode. По этой причине, все "старые уловки", которые вы ис­пользовали с символами в прошлом, будут работать и в Java тоже.

Хотя символы — не целые числа, во многих случаях можно оперировать с ними, как если бы они были таковыми. Это позволяет складывать два символа вместе, или инкрементировать (увеличивать на 1) значение сим­вольной переменной. Например, рассмотрим следующую программу:

// Переменные символа ведут себя подобно целым числам, class CharDemo2 {

public static void main(String args[]) { char chl;

chl = 'X';

System.out.println("chl содержит " + chl);

chl-t-+; // увеличили на 1 значение переменной chl

System.out.println("chl сейчас содержит " + chl); } }

Вывод, генерируемый программой:

chl содержит X

chl сейчас содержит Y

В программе переменной chl сначала присваивается значение х. Затем ch1 инкрементируется. Это приводит к тому, что chl будет содержать y — сле­дующий символ в последовательности ASCII (и Unicode).

Булевский тип (boolean)

Java имеет простой тип, называемый boolean (булев или булевский), для логических значений. Он может иметь только одно из двух возможных зна­чений true (истина) или false (ложь). Это тип, возвращаемый всеми опе­рациями отношений, такими как a<b. boolean — также тип, требуемый условными выражениями, которые руководят операторами управления, та­кими как if и for.

Вот программа, которая демонстрирует тип boolean:

// Демонстрирует булевы значения. class BoolTest {

60 Часть I. Язык Java

public static void main(String args[]) { boolean b;

b = false;

System.out.println("b равно " + b);

b = true;

System.out.println("b равно " + b);

// булево значение может управлять if-оператором if(b) System.out.println("Сравнение выполнено.");

b = false;

if(b) System.out.println("Сравнение не выполнено.");

// вывод операции отношения есть булево значение System.out.println("10 > 9 равно " + (10 > 9)); } }

Вывод, сгенерированный этой программой:

b равно false b равно true Сравнение выполнено . 10 > 9 равно true

В этой программе есть три интересных момента. Во-первых, при выводе бу­лева значения методом println о на экране отображается "true" или "false". Во-вторых, значения булевой переменной достаточно (самого по себе), что­бы управлять if -оператором. Не нужно записывать if -оператор как:

if (b == true) . . .

В-третьих, результат операции отношения, такой как <, является булевым значением. Именно поэтому выражение 10 > 9 выводит на экран значение true. Далее, необходим внешний набор круглых скобок вокруг выражения 10 > 9, потому что операция + (сцепления) имеет более высокий приоритет, чем операция > (сравнения).

Подробнее о литералах

Литералы были упомянуты кратко в главе 2. Теперь, когда встроенные типы формально описаны, рассмотрим их подробнее.

Целочисленные литералы

Целые числа, вероятно наиболее часто используемый тип в обычных про­граммах. Любое полное числовое значение — целый литерал. Например, 1, 2,

Соседние файлы в папке JavaLit