Герберт Шилдт - C# 4.0: полное руководство
Console.WriteLine("Простая программа на С#.");
можно переписать следующим образом.
System.Console.WriteLine("Простая программа на С#.");
Таким образом, первый пример программы можно видоизменить так.
// В эту версию не включена строка "using System;".
class Example {
// Любая программа на C# начинается с вызова метода Main().
static void Main() {
// Здесь имя Console.WriteLine полностью определено.
System.Console.WriteLine("Простая программа на С#.");
}
}
Указывать пространство имен System всякий раз, когда используется член этого пространства, — довольно утомительное занятие, и поэтому большинство программистов на C# вводят директиву using System в начале своих программ, как это сделано в примерах всех программ, приведенных в данной книге. Следует, однако, иметь в виду, что любое имя можно всегда определить, явно указав его пространство имен, если в этом есть необходимость.
Вторая простая программа
В языке программирования, вероятно, нет более важной конструкции, чем переменная. Переменная — это именованная область памяти, для которой может быть установлено значение. Она называется переменной потому, что ее значение может быть изменено по ходу выполнения программы. Иными словами, содержимое переменной подлежит изменению и не является постоянным.
В приведенной ниже программе создаются две переменные — х и у.
// Эта программа демонстрирует применение переменных.
using System;
class Example2 {
static void Main() {
int x; // здесь объявляется переменная
int y; // здесь объявляется еще одна переменная
x = 100; // здесь переменной х присваивается значение 100
Console.WriteLine("х содержит " + x);
y = x / 2;
Console.Write("у содержит x / 2: ");
Console.WriteLine(y);
}
}
Выполнение этой программы дает следующий результат.
х содержит 100
у содержит х / 2: 50
В этой программе вводится ряд новых понятий. Прежде всего, в операторе
int х; // здесь объявляется переменная
объявляется переменная целочисленного типа с именем х. В C# все переменные должны объявляться до их применения. Кроме того, нужно обязательно указать тип значения, которое будет храниться в переменной. Это так называемый тип переменной. В данном примере в переменной х хранится целочисленное значение, т.е. целое число. Для объявления в C# переменной целочисленного типа перед ее именем указывается ключевое слово int. Таким образом, в приведенном выше операторе объявляется переменная х типа int.
В следующей строке объявляется вторая переменная с именем у.
int у; // здесь объявляется еще одна переменная
Как видите, эта переменная объявляется таким же образом, как и предыдущая, за исключением того, что ей присваивается другое имя.
В целом, для объявления переменной служит следующий оператор:
тип имя_переменной;
где тип — это конкретный тип объявляемой переменной, а имя_переменной — имя самой переменной. Помимо типа int, в C# поддерживается ряд других типов данных. В следующей строке программы переменной х присваивается значение 100.
х = 100; // здесь переменной х присваивается значение 100 ,
В C# оператор присваивания обозначается одиночным знаком равенства (=). Данный оператор выполняет копирование значения, расположенного справа от знака равенства, в переменную, находящуюся слева от него.
В следующей строке программы осуществляется вывод на экран текстовой строки 11 х содержит 11 и значения переменной х.
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;