|
Программирование >> Программирование с использованием ajax
Переменные Как уже упоминалось ранее, переменные имеют отношение к хранению данных. По сути, к переменным в памяти компьютера можно относиться как к коробкам на полке. В коробки можно класть какие-то вещи и затем снова доставать их оттуда, или просто заглядывать в них и проверять, есть ли там вообще что-нибудь. То же самое и с переменными: в них можно помещать данные и затем при необходимости либо извлекать их оттуда, либо проверять их наличие. Хотя все данные на компьютере, в сущности, имеют одинаковый вид (наборы нулей и единиц), переменные бывают разных видов, называемых в их случае типами. Если снова провести аналогию с коробками, то коробки бывают разных форм и размеров, из-за чего некоторые вещи могут умещаться только в коробках определенного вида. Объясняется наличие такой системы типов тем, что разные типы данных могут требовать использования разных методов для работы с ними, а ограничение переменных конкретными типами позволяет избегать их смешивания. Например, в обработке набора нулей и единиц, представляющего цифровое изображение, тем же образом, что и набора, представляющего аудио-ролик, не было бы никакого смысла. Чтобы использовать переменные, их нужно объявлять. Это означает, что им необходимо назначать имя и тип. После объявления их можно начинать использовать в качестве единиц хранения для данных того типа, для хранения которого они предназначены согласно объявлению. В синтаксисе С# объявление переменных осуществляется указанием типа и имени переменной: <тип> <имя>; При попытке использовать переменную, которая не была объявлена, код не будет компилироваться, но в отличие от остальных случаев компилятор будет точно сообщать причину возникшей проблемы, так что такой уж ужасной ошибкой это не является. При попытке использовать переменную без присваивания ей значения тоже будет возникать ошибка, но компилятор тоже ее распознает. Количество типов, которые можно использовать, практически бесконечно. Все дело в том, что допускается определять свои собственные типы переменных для хранения каких угодно сложных видов данных. Несмотря на сказанное, однако, существует ряд таких типов переменных, которые рано или поздно нужно будет использовать любому разработчику, вроде переменной, позволяющей хранить числа. Поэтому об этих нескольких простых предопределенных типах необходимо знать каждому. Простые типы к числу простых типов относятся типы вроде числовых и булевских (true или false) значений, которые выступают в роли основных строительных блоков в любом приложении. В отличие от сложных типов, простые типы не могут иметь ни дочерних типов, ни атрибутов. Большинство из доступных простых типов являются числовыми, что на первый взгляд может показаться странным, ведь для хранения числа точно необходим один тип? Причина такого изобилия числовых типов связана с механизмом хранения чисел в памяти компьютера в виде последовательностей нулей и единиц. В случае целочисленных значений просто берется ряд битов (отдельных цифр, которыми может быть О или 1) и представляется число в двоичном (бинарном) формате. Переменная, хранящая N битов, позволяет представлять любое число в диапазоне от О до (2- 1). Любые числа больше этого значения не умещаются в такой переменной. Например, предположим, что имеется переменная, способная хранить 2 бита. Соответствие между целыми числами и представляющими их битами в случае этой переменной будет выглядеть следующим образом: 0 = 00 1 = 01 2 = 10 3 = 11 При желании иметь возможность сохранять больше чисел, потребуется больше битов (например, 3 бита позволяют хранить числа от О до 7). Неизбежным результатом такой системы является то, что для получения возможности сохранять любое вообразимое число, понадобится бесконечное количество битов, которое никак не сможет уместиться в памяти обычного ПК. Даже при наличии определенного количества битов, которое можно применять для каждого числа, использовать все эти биты для переменной, требующейся для хранения, к примеру, только чисел в диапазоне от О до 10, будет не эффективным подходом (потому что будет приводить к растрате ресурсов памяти). Вместо этого гораздо лучше применять другие целочисленные типы, способные хранить разные диапазоны чисел и занимающие разные объемы памяти (вплоть до 64 битов). Все эти типы перечислены в табл. 3.1. Каждый из этих типов подразумевает использование одного из соответствующих стандартных типов, определенных в .NET Framework. Как уже рассказывалось в главе 7, именно такое применение стандартных типов обеспечивает функциональную совместимость языков. Имена, используемые для типов в С#, являются псевдонимами для тех типов, которые определены в .NET Framework. В табл. 3.1 имена типов представлены в виде, который они имеют в библиотеке .NETFramework. Таблица 3.1. Основные целочисленные типы
Символы U в начале имен некоторых переменных являются сокращением от слова unsigned (без знака), которое указывает на то, что хранить отрицательные числа в переменных этих типов нельзя, о чем свидетельствуют значения в столбце Допустимые значения таблицы. Разумеется, также бывает необходимо хранить значения с плавающей запятой, т.е. значения, которые не являются целыми числами. Для них доступны переменные трех следующих типов: float, double и decimal. Первые две позволяют хранить значения с плавающей запятой в виде ±шх2 , причем допустимые значения для ши еу них отличаются. Что касается decimal, то переменная такого типа позволяет хранить значения в виде ±шх10 Все эти три типа переменных показаны в табл. 3.2 вместе с их допустимыми значениями для ш и и ограничениями в виде настоящих числовых показателей. Таблица 3.2. Типы переменных для хранения чисел с плавающей запятой
Помимо числовых типов, еще также доступны и другие простые типы, которые перечислены в табл. 3.3. Таблица 3.3. Нечисловые простые типы
Обратите внимание на то, что верхнего предела по количеству символов, которое может сохраняться в string, не существует, поскольку этот тип может использовать различные объемы памяти. Булевский тип bool является одним из наиболее часто используемых типов переменных в С#, и на самом деле аналогичные типы не менее часто применяются и в других языках. Наличие переменной, которая может содержать либо значение true, либо значение false, играет очень важную роль в процессе выполнения логики приложения. В качестве простого примера, представьте, на какое количество вопросов можно ответить с помощью да или нет (т.е. посредством true или false). Выполнение сравнений между значениями переменных и проверка правильности входных данных являются лишь двумя наиболее типичными примерами программного применения булевских переменных, которые очень скоро будут рассмотрены более подробно. Теперь, после ознакомления со всеми простыми типами, давайте разберем один небольшой пример, наглядно демонстрирующий способы их объявления и использования. В следующем практическом занятии приводится простой код, который объявляет две переменные, присваивает им значения и затем выводит эти значения на экран. 1ктическов зан! Использование переменных простых типов 1. Создайте новое консольное приложение по имени Ch03Ex01 и сохраните его в каталоге С:\BegVCSharp\Chapter03.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |