числовой тип.
Целочисленные типы различаются между собой диапазоном значений. Тем
не менее тип int имеет некоторое идеологическое преимущество, которое
зиждется в первую очередь на правилах
ритет остается за типом double: во-первых, диапазон допустимых значений
у этого типа шире, а во-вторых, по умолчанию числа с плавающей точкой
интерпретируются как double-значения.
ПРИМЕЧАНИЕ Есть еще тип decimal, под который отводится аж 128 бит. В известном
смысле это экзотика. Тип предназначен для выполнения расчетов, в которых критичны ошибки округления. Обычно это финансовые
расчеты.
Данные типа char — это буквы (или управляющие символы). Другими
словами, значением переменной типа char может быть буква. В отличие от
текста (объект класса string), который заключается в двойные кавычки, отдельный символ заключается в одинарные кавычки.
Если отдельный символ заключить в двойные кавычки, это уже будет
текст, состоящий из одного символа. Например, 'A' — это символьное
значение (тип char), а «A» — текстовое значение (тип string).
Кроме непосредственно букв, есть еще управляющие символы (или
последовательности символов). С двумя мы уже знакомы: это ин-
струкция перехода к новой строке \n и табуляция \t. Каждая из
этих инструкций считается одним символом — во всяком случае, соответствующее значение можно записать в переменную типа char.
Есть и другие интересные инструкции. Например, инструкция \a по-
зволяет сгенерировать «бип» — программный писк. Или, скажем, символ одинарных или двойных кавычек — поскольку и те и дру-
гие используются для выделения литералов (значений символьного
и текстового типов соответственно), то кавычки как символ вводятся
с помощью косой черты: \' для одинарной и \" для двойной. Инструк-
ция \\ позволяет определить символ косой черты. Очень полезна
инструкция \b, с помощью которой курсор вывода переводится на
одну позицию назад.
Базовые типы данных и основные операторы 101
Переменные логического типа (тип bool) могут принимать всего два зна-
чения: true (истина) и false (ложь). Обычно значения логического типа
используются в условных операторах для проверки условий.
Специфика логического типа в C# такова, что там, где должно быть
логическое значение, следует указывать именно логическое значение.
У новичков в программировании, скорее всего, желание поместить
в условном операторе нечто неположенное вряд ли появится. А вот
те, кто знаком с языком программирования C++, могут поддаться
соблазну. Ведь в С++ в качестве логического значения можно ис-
пользовать числа. В C# такой номер не пройдет.
Что касается основных операторов языка C#, то их традиционно делят на
четыре группы:
арифметические операторы, используемые в основном для выполнения
операций с числовыми данными;
операторы сравнения, которые позволяют сравнивать значения пере-
менных;
логические операторы, предназначенные, как ни странно, для выполне-
ния логических операций;
побитовые, или поразрядные, операторы — группа операторов, которые
позволяют выполнять преобразования на уровне побитового представ-
ления чисел.
Кроме этого, имеются такие уникальные и достаточно специфические опе-
раторы, как оператор присваивания и тернарный оператор (такая себе ком-
пактная версия условного оператора). Причем если без тернарного опера-
тора еще как-то можно обойтись, то без оператора присваивания процесс
программирования просто теряет свой сакраментальный смысл.
Арифметические операторы представлены в табл. 3.2.
Таблица 3.2. Арифметические операторы C#
Оператор
Описание
+
Сложение: бинарный оператор. В результате вычисления выражения вида
A+B в качестве результата возвращается сумма значений числовых пере-
менных A и B. Если переменные текстовые, результатом является строка, полученная объединением текстовых значений переменных
Вычитание: бинарный оператор. В результате вычисления выражения вида
A-B в качестве результата возвращается разность значений числовых пере-
менных A и B. Оператор может также использоваться как унарный (перед
переменной, например -A) для противоположного (умноженного на -1) числа, по отношению к тому, что записано в переменную
102
Глава 3. Основы синтаксиса языка C#
Таблица 3.2 (продолжение)
Оператор
Описание
*
Умножение: бинарный оператор. В результате вычисления выражения вида
A*B в качестве результата возвращается произведение значений числовых
переменных A и B
/
Деление: бинарный оператор. В результате вычисления выражения вида
A/B в качестве результата возвращается частное значений числовых пере-
менных A и B. Если операнды (переменные A и B) целочисленные, деление
выполняется нацело. Для вычисления результата на множестве действи-
тельных чисел (при целочисленных операндах) можно использовать коман-
ду вида (double)A/B
%