Чтение онлайн

на главную - закладки

Жанры

Полное руководство. С# 4.0
Шрифт:

В языке программирования, вероятно, нет более важной конструкции, чем пере менная. Переменная — это именованная область памяти, для которой может быть уста новлено значение. Она называется переменной потому, что ее значение может быть изменено по ходу выполнения программы. Иными словами, содержимое переменной подлежит изменению и не является постоянным.

В приведенной ниже программе создаются две переменные — х и у. // Эта программа демонстрирует применение переменных. using System; class Example2 { static void Main { int x; // здесь объявляется переменная int у; // здесь объявляется еще одна переменная х = 100; // здесь переменной х присваивается

значение 100 Console.WriteLine("х содержит " + х); у = х / 2; Console.Write("у содержит х / 2: "); Console.WriteLine(y); } }

Выполнение этой программы дает следующий результат. х содержит 100 у содержит х / 2: 50

В этой программе вводится ряд новых понятий. Прежде всего, в операторе int х; // здесь объявляется переменная

объявляется переменная целочисленного типа с именем х. В C# все переменные долж ны объявляться до их применения. Кроме того, нужно обязательно указать тип зна чения, которое будет храниться в переменной. Это так называемый тип переменной. В данном примере в переменной х хранится целочисленное значение, т.е. целое число. Для объявления в C# переменной целочисленного типа перед ее именем указывает ся ключевое слово int. Таким образом, в приведенном выше операторе объявляется переменная х типа int.

В следующей строке объявляется вторая переменная с именем у. int у; // здесь объявляется еще одна переменная

Как видите, эта переменная объявляется таким же образом, как и предыдущая, за исключением того, что ей присваивается другое имя.

В целом, для объявления переменной служит следующий оператор: тип имя_переменной;

где тип — это конкретный тип объявляемой переменной, а имя_переменной — имя самой переменной. Помимо типа int, в C# поддерживается ряд других типов данных. В следующей строке программы переменной х присваивается значение 100. х = 100; // здесь переменной х присваивается значение 100

В C# оператор присваивания обозначается одиночным знаком равенства (=).

Данный оператор выполняет копирование значения, расположенного справа от знака равенства, в переменную, находящуюся слева от него.

В следующей строке программы осуществляется вывод на экран текстовой строки "х содержит " и значения переменной х. Console.WriteLine("х содержит " + х);

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

В следующей строке программы переменной у присваивается значение перемен ной х, деленное на 2. у = х / 2;

В этой строке значение переменной х делится на 2, а полученный результат со храняется в переменной у. Таким образом, после выполнения данной строки в пере менной у содержится значение 50. При этом значение переменной х не меняется. Как и в большинстве других языков программирования, в C# поддерживаются все арифме тические операции, в том числе и перечисленные ниже.

Сложение

Вычитание

Умножение / Деление

Рассмотрим две оставшиеся строки программы. Console.Write("у содержит х / 2: "); Console.WriteLine(у);

В этих строках обнаруживаются еще две особенности. Во-первых, для вывода тек стовой строки "у содержит х / 2: " на экран используется встроенный метод Write.

После этой текстовой строки новая строка не следует. Это означает, что последующий вывод будет осуществлен в той же самой строке. Метод Write по добен

методу WriteLine, за исключением того, что после каждого его вызова вы вод не начинается с новой строки. И во-вторых, обратите внимание на то, что в вы зове метода WriteLine указывается только переменная у. Оба метода, Write и WriteLine, могут быть использованы для вывода значений любых встроенных в C# типов.

Прежде чем двигаться дальше, следует упомянуть еще об одной особенности объяв ления переменных. Две иди более переменных можно указать в одном операторе объявления. Нужно лишь разделить их запятой. Например, переменные х и у могут быть объявлены следующим образом. int х, у; // обе переменные объявляются в одном операторе

ПРИМЕЧАНИЕ В C# внедрено средство, называемое неявно типизированной переменной. Неявно типизированными являются такие переменные, тип которых автоматически определяется компилятором. Подробнее неявно типизированные переменные рассматриваются в главе 3. Другие типы данных

В предыдущем примере программы использовались переменные типа int. Но в переменных типа int могут храниться только целые числа. Их нельзя использовать в операциях с числами, имеющими дробную часть. Например, переменная типа int может содержать значение 18, но не значение 18,3. Правда, int — далеко не единствен ный тип данных, определяемых в С#. Для операций с числами, имеющими дробную часть, в C# предусмотрены два типа данных с плавающей точкой: float и double. Они обозначают числовые значения с одинарной и двойной точностью соответственно.

Из этих двух типов чаще всего используется тип double.

Для объявления переменной типа double служит оператор double result;

где result — это имя переменной типа double. А поскольку переменная result имеет тип данных с плавающей точкой, то в ней могут храниться такие числовые зна чения, как, например, 122,23, 0,034 или -19,0.

Для лучшего понимания отличий между типами данных int и double рассмо трим такой пример программы. /* Эта программа демонстрирует отличия между типами данных int и double. */ using System; class Example3 { static void Main { int ivar; // объявить целочисленную переменную double dvar; // объявить переменную с плавающей точкой ivar = 100; // присвоить переменной ivar значение 100 dvar = 100.0; // присвоить переменной dvar значение 100.0 Console.WriteLine("Исходное значение ivar: " + ivar); Console.WriteLine("Исходное значение dvar: " + dvar); Console.WriteLine; // вывести пустую строку // Разделить значения обеих переменных на 3. ivar = ivar / 3; dvar = dvar / 3.0; Console.WriteLine("Значение ivar после деления: " + ivar); Console.WriteLine("Значение dvar после деления: " + dvar); } }

Ниже приведен результат выполнения приведенной выше программы. Исходное значение ivar: 100 Исходное значение dvar: 100 Значение ivar после деления: 33 Значение dvar после деления: 33.3333333333333

Как видите, при делении значения переменной ivar типа int на 3 остается лишь целая часть результата — 33, а дробная его часть теряется. В то же время при делении значения переменной dvar типа double на 3 дробная часть результата сохраняется. Как демонстрирует данный пример программы, в числовых значениях с плаваю щей точкой следует использовать обозначение самой десятичной точки. Например, значение 100 в С# считается целым, а значение 100,0 — с плавающей точкой. В данной программе обнаруживается еще одна особенность. Для вывода пустой строки достаточно вызвать метод WriteLine без аргументов.

Поделиться:
Популярные книги

Огни Эйнара. Долгожданная

Макушева Магда
1. Эйнар
Любовные романы:
любовно-фантастические романы
эро литература
5.00
рейтинг книги
Огни Эйнара. Долгожданная

Real-Rpg. Еретик

Жгулёв Пётр Николаевич
2. Real-Rpg
Фантастика:
фэнтези
8.19
рейтинг книги
Real-Rpg. Еретик

Вперед в прошлое 2

Ратманов Денис
2. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 2

Как я строил магическую империю

Зубов Константин
1. Как я строил магическую империю
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Как я строил магическую империю

Возвращение Безумного Бога 5

Тесленок Кирилл Геннадьевич
5. Возвращение Безумного Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Возвращение Безумного Бога 5

Ненужная жена

Соломахина Анна
Любовные романы:
любовно-фантастические романы
5.86
рейтинг книги
Ненужная жена

Идеальный мир для Социопата 6

Сапфир Олег
6. Социопат
Фантастика:
боевая фантастика
рпг
6.38
рейтинг книги
Идеальный мир для Социопата 6

Вечный. Книга II

Рокотов Алексей
2. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга II

Мимик нового Мира 6

Северный Лис
5. Мимик!
Фантастика:
юмористическая фантастика
попаданцы
рпг
5.00
рейтинг книги
Мимик нового Мира 6

Разбуди меня

Рам Янка
7. Серьёзные мальчики в форме
Любовные романы:
современные любовные романы
остросюжетные любовные романы
5.00
рейтинг книги
Разбуди меня

Новая мама в семье драконов

Смертная Елена
2. В доме драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Новая мама в семье драконов

Ты всё ещё моя

Тодорова Елена
4. Под запретом
Любовные романы:
современные любовные романы
7.00
рейтинг книги
Ты всё ещё моя

Разведчик. Заброшенный в 43-й

Корчевский Юрий Григорьевич
Героическая фантастика
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.93
рейтинг книги
Разведчик. Заброшенный в 43-й

Газлайтер. Том 9

Володин Григорий
9. История Телепата
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Газлайтер. Том 9