Следующие операторы присваивания поддерживаются в языке D:
Оператор | Описание | Пример |
---|---|---|
= | Это простой оператор присваивания. Он присваивает значения из правых операндов в левый операнд. | C = A + B присвоит значение суммы A + B в C |
+= | Это оператор сложения И присвоения. Он складывает правый операнд с левым операндом и присваивает результат левому операнду. | C += A эквивалетно C = C + A |
-= | Это оператор вычитания И присвоения. Он вычитает правый операнд из левого операнда и присваивает результат левому операнду. | C -= A эквивалетно C = C - A |
*= | Это оператор умножения И присвоения. Он умножает правый операнд на левый операнд и присваивает результат левому операнду. | C *= A эквивалетно C = C * A |
/= | Это оператор деления И присвоения. Он делит левый операнд на правый операнд и присваивает результат левому операнду. | C /= A эквивалетно C = C / A |
%= | Это оператор получения остатка от деления И присвоения. Он получает остаток от деления левого операнда на правый операнд и присваивает результат левому операнду. | C %= A эквивалетно C = C % A |
<<= | Это оператор сдвига влево И присвоения. | C <<= 2 тоже самое, что и C = C << 2 |
>>= | Это оператор сдвига вправо И присвоения. | C >>= 2 тоже самое, что и C = C >> 2 |
&= | Это оператор бинарного И с последующим присвоением. | C &= 2 тоже самое, что и C = C & 2 |
^= | Это оператор бинарного Исключающего ИЛИ с последующим присвоением. | C ^= 2 тоже самое, что и C = C ^ 2 |
|= | Это оператор бинарного ИЛИ с последующим присвоением. | C |= 2 тоже самое, что и C = C | 2 |
Попробуйте следующий пример, чтобы понять все операторы присваивания, доступные на языке D:
import std.stdio; int main(string[] args) { int a = 21; int c ; c = a; writefln("Строка 1 - пример орератора = , значение c = %d", c ); c += a; writefln("Строка 2 - пример орератора += , значение c = %d", c ); c -= a; writefln("Строка 3 - пример орератора -= , значение c = %d", c ); c *= a; writefln("Строка 4 - пример орератора *= , значение c = %d", c ); c /= a; writefln("Строка 5 - пример орератора /= , значение c = %d", c ); c = 200; c = c % a; writefln("Строка 6 - пример орератора %s= , значение c = %d",'\x25', c ); c <<= 2; writefln("Строка 7 - пример орератора <<= , значение c = %d", c ); c >>= 2; writefln("Строка 8 - пример орератора >>= , значение c = %d", c ); c &= 2; writefln("Строка 9 - пример орератора &= , значение c = %d", c ); c ^= 2; writefln("Строка 10 - пример орератора ^= , значение c = %d", c ); c |= 2; writefln("Строка 11 - пример орератора |= , значение c = %d", c ); return 0; }
Когда вы скомпилируете и выполните эту программу, она возвратит следующий результат:
Строка 1 - пример орератора = , значение c = 21 Строка 2 - пример орератора += , значение c = 42 Строка 3 - пример орератора -= , значение c = 21 Строка 4 - пример орератора *= , значение c = 441 Строка 5 - пример орератора /= , значение c = 21 Строка 6 - пример орератора %= , значение c = 11 Строка 7 - пример орератора <<= , значение c = 44 Строка 8 - пример орератора >>= , значение c = 11 Строка 9 - пример орератора &= , значение c = 2 Строка 10 - пример орератора ^= , значение c = 0 Строка 11 - пример орератора |= , значение c = 2