Приглашаем посетить
Чарская (charskaya.lit-info.ru)

Унарные арифметические операторы

Унарные арифметические операторы.

Унарные арифметические операторы оказывают действие на один операнд. Они используются изменения знака переменной, а также для инкремента значения переменной или же его декремента. Под инкрементом подразумевается увеличение значения на единицу. В свою очередь, декремент - это уменьшение значения на единицу.

Изменение знака операнда
+op1 позитивный операнд
-op1 негативный операнд
Изменение значения операнда перед использованием
++op1 преинкремент операнда на единицу
--op1 предекремент операнда на единицу
Изменение значения операнда после его использования
op1++ пост инкремент операнда на единицу
op1-постдекремент операнда на единицу

Арифметические операторы начинают казаться сложными, когда вы переходите к изучению унарных операторов. Представьте себе задачку: "К пяти частям шоколадки прибавить две отрицательные части…". Прибавление отрицательных чисел, возможно, вам покажется несколько странным. Но поверьте, - это не так. Я почти уверен, что вы не станете использовать в математике нечто наподобие: "34+-2". Но в то же время вы могли бы написать "34+$var", где переменная $var является отрицательным числом.

Использование унарного оператора "+" является по сути бесполезным, и Perl его проигнорирует. С другой стороны, унарный оператор "-" всегда изменяет знак числа на "плюс" или на "минус". Например, если у вас есть переменная $var, значение которой равно 34, и вы применяете к ней унарный оператор "-" (например, "print -$var;"), то ее значение будет равно -34.

Операторы "++" и "--" в Perl работают точно также, как и в Си. Оператор "++" увеличивает значение операнда на единицу, в свою очередь оператор "--" уменьшает. Существует два способа использования данных операторов: префиксный (++$var) и постфиксный ($var++). В первом случае значение переменной изменяется до ее использования, во втором - после.

Пример:
#!/usr/bin/perl
$var=5;
print ++$var; #выведет на экран 6
print $var++; #выведет на экран 5, а за тем увеличит значение $var

Назад | Оглавление | Далее