×
Traktatov.net » C# 4.0: полное руководство » Читать онлайн
Страница 51 из 650 Настройки

>

>    for(i = 0; i < 10; i++)    {

>      y = y + x++;    // постфиксная форма оператора ++

>      Console.WriteLine(y + " ");

>    }

>    Console.WriteLine();

>    x = 1;

>    y = 0;

>    Console.WriteLine("Ряд чисел, полученных    " +

>              "с помощью оператора у = у + ++х;");

>    for(i = 0; i < 10; i++)    {

>      y = y + ++x;    // префиксная форма оператора ++

>      Console.WriteLine(y + " ");

>    }

>    Console.WriteLine();

>  }

>}


Выполнение этой программы дает следующий результат.


>Ряд чисел, полученных с помощью оператора у = у + х++

>1

>3

>б

>10

>15

>14

>21

>28

>36

>45

>55


>Ряд чисел, полученных с помощью оператора у = у + ++х;

>2

>5

>9

>14

>20

>27

>35

>44

>54

>65


Как подтверждает приведенный выше результат, в операторе


>у = у + х++;


первоначальное значение переменной х складывается с самим собрй, а полученный результат присваивается переменной у. После этого значение переменной х увеличивается на 1. Но в операторе


>у = у + ++;


значение переменной х сначала увеличивается на 1, затем складывается с первоначальным значением этой же переменной, а полученный результат присваивается переменной у. Как следует из приведенного выше результата, простая замена префиксной формы записи оператора ++х постфиксной формой х++ приводит к существенному изменению последовательного ряда получаемых чисел.

И еще одно замечание по поводу приведенного выше примера: не пугайтесь выражений, подобных следующему:


>у + ++х;


Такое расположение рядом двух операторов может показаться не совсем привычным, но компилятор воспримет их в правильной последовательности. Нужно лишь запомнить, что в данном выражении значение переменной у складывается с увеличенным на 1 значением переменной х.


Операторы отношения и логические операторы

В обозначениях оператор отношения и логический оператор термин отношения означает взаимосвязь, которая может существовать между двумя значениями, а термин логический — взаимосвязь между логическими значениями "истина>7' и "ложь". И поскольку операторы отношения дают истинные или ложные результаты, то они нередко применяются вместе с логическими операторами. Именно по этой причине они и рассматриваются совместно в данном разделе.

Ниже перечислены операторы отношения.


>Оператор    >Значение


>==          >Равно

>!=          >Не равно

>>           >Больше

><           >Меньше

>>=          >Больше или равно

><=          >Меньше или равно


К числу логических относятся операторы, приведенные ниже.


>Оператор    >Значение


>&           

>|           >ИЛИ

>^           >Исключающее ИЛИ

>&&          >Укороченное И

>||          >Укороченное ИЛИ

>!           >НЕ


Результатом выполнения оператора отношения или логического оператора является логическое значение типа >bool.

В целом, объекты можно сравнивать на равенство или неравенство, используя операторы отношения == и ! =. А операторы сравнения <, >, <= или >= могут применяться только к тем типам данных, которые поддерживают отношение порядка. Следовательно, операторы отношения можно применять ко всем числовым типам данных. Но значения типа >bool могут сравниваться только на равенство или неравенство, поскольку истинные (true) и ложные (false) значения не упорядочиваются. Например, сравнение