Главная страница

АБОБА. Справочник по программированию на Java Методическое пособие


Скачать 242.41 Kb.
НазваниеСправочник по программированию на Java Методическое пособие
АнкорАБОБА
Дата20.02.2022
Размер242.41 Kb.
Формат файлаdocx
Имя файла12642_java_method_1.docx
ТипСправочник
#368066
страница9 из 67
1   ...   5   6   7   8   9   10   11   12   ...   67

Символы


В Java для хранения символов используется тип данных char. Однако программистам на C/C++ следует помнить, что тип char в Java не эквивалентен типу char в C или C++. В C/C++ char – это целочисленный тип, имеющий ширину 8 битов. В Java это не так. Вместо этого в нем для представления символов используется Unicode. Unicode определяет международный набор символов, который может представлять все символы, присутствующие во всех известных языках. Он представляет собой унифицированный набор десятков наборов символов, таких как латиница, греческий алфавит, арабский алфавит, кириллица, иврит, японские и тайские иероглифы и множество других. Поэтому для хранения этих символов требуется 16 битов. Таким образом, в Java тип char является 16-битным. Диапазон допустимых значений этого типа – от 0 до 65536. Не существует отрицательных значений типа char. Стандартный набор символов, известный как ASCII, содержит значения от 0 до 127, а расширенный 8-битный набор символов, ISO-Latin-1 – значения от 0 до 255. Поскольку язык Java предназначен для обеспечения возможности создания программ, применимых во всем мире, использование кодировки Unicode для представления символов вполне обосновано. Конечно, применение Unicode несколько неэффективно для таких языков, как английский, немецкий, испанский или французский, для представления символов которых вполне достаточно 8 битов. Но это та цена, которую приходится платить за переносимость программ во всемирном масштабе.

// Демонстрация использования типа данных char.

class CharDemo {

public static void main(String args[]) {

char ch1, ch2;

ch1 = 88; // код переменной X

ch2 = 'Y';

System.out.print("ch1 и ch2: ");

System.out.println(ch1 + " " + ch2);

}

}

Эта программа отображает следующий вывод:

ch1 и ch2: X Y

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

Хотя тип char был разработан для хранения символов Unicode, его можно считать также целочисленным типом, пригодным для выполнения арифметических операций.

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

// Символьные переменные ведут себя подобно целочисленным значениям.

class CharDemo2 {

public static void main(String args[]) {

char ch1;

ch1 = 'X';

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

ch1++; // увеличение значения ch1 на единицу

System.out.println("ch1 теперь " + ch1);

}

}

Эта программа генерирует следующий вывод:

ch1 содержит X

ch1 теперь Y

Вначале программа присваивает переменной ch1 значение X. Затем она увеличивает значение переменной ch1 на единицу. В результате хранящееся в переменной значение становится буквой Y – следующим символом в последовательности ASCII (и Unicode).

Булевские значения


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

Следующая программа служит примером использования типа boolean:

// Демострация использования значений типа boolean.

class BoolTest {

public static void main(String args[]) {

boolean b;

b = false;

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

b = true;

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

// значение типа boolean может управлять оператором if

if(b) System.out.println("Это выполняется.");

b = false;

if(b) System.out.println("Это не выполняется.");

// результат выполнения операции сравнения – значение типа boolean

System.out.println("10 > 9 равно " + (10 > 9));

}

}

Эта программа генерирует следующий вывод:

b равна false

b равна true

Это выполняется.

10 > 9 равно true

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

if(b == true) ...

В-третьих, результат выполнения операции сравнения вроде < – значение типа boolean. Именно поэтому выражение 10 > 9 приводит к отображению строки “true”.

Более того, выражение 10 > 9 должно быть заключено в дополнительный набор круглых скобок, поскольку операция + обладает более высоким приоритетом, чем операция >.
1   ...   5   6   7   8   9   10   11   12   ...   67


написать администратору сайта