Оператор декремент в java

Основные операции с переменными в Java

Ну, как же обойтись в программировании без возможности что-то складывать, вычитать, умножать и т.д.? Такую возможность в Java обеспечивают так называемые операторы. В Java все операторы можно разбить на 3 группы:

В этой статье мы рассмотрим:

Логические и побитовые операции мы рассмотрим с Вами в отдельных статьях. На данном этапе Вам будет достаточно только понимания того, что такое арифметические операции. Итак, приступим!

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

На самом деле, со многими арифметическими операторами Вы уже знакомы со школы :

Давайте попробуем разобраться с этими операторами на примере.

Пример №1

Если Вы попробуете запустить этот код на своём компьютере, то в консоль у Вас будут выведены вот такие числа:

Комментарии:

Давайте разберём каждую строчку кода.

Здесь мы объявили переменную k и присвоили ей значение 70, затем объявили переменную p и присвоили ей значение 10, а потом объявили еще переменную f и присвоили ей значение 5.

Затем объявили переменную m и присвоили ей значение, равное сумме k и p. А k у нас равно 70, p равно 10, соответственно, m будет равно 80.

Затем вывели в консоль значение m. И, действительно, в консоли мы видим 80.

В этой строчке мы сказали, что переменной m должно быть присвоено новое значение, которое должно быть равно m-30. m у нас было равно 80, поэтому новое значение m будет равно 80-30, то есть 50.

Выводим в консоль новое значение m и, действительно, в консоли видим 50.

Объявляем переменную s и присваиваем ей значение равное m*f. Поскольку m у нас равно 50, а f равно 5, то при умножении 50 на 5 получаем 250. Значит, s равно 250.

Выводим в консоль значение переменной s. И, действительно, видим в консоли 250.

Присваиваем новое значение переменной s, которое равно s/f. Знаком / обозначается деление в Java. Переменная s у нас сейчас равна 250, а f равно 5. Поэтому при деление 250 на 5 получим 50. То есть новое значение переменной s равно 50.

Выводим в консоль новое значение переменной s. И, действительно, в консоли видим 50.

Обратите внимание: в Java деление обозначается знаком /

Сокращённые арифметические операторы

Также к арифметическим операторам относят так называемые сокращённые арифметически операторы. Вы должны знать, что есть 2 формы записи основных арифметических операций. Например:

m += 7; // это всё равно, что m = m+7;

m -= 7 ; // это всё равно, что m = m-7;

m*= 7; // это всё равно, что m = m*7;

m/= 7; // это всё равно, что m = m/7;

Зачем придумали сокращённые арифметические операторы? Да потому что лень — двигатель прогресса! Когда пишешь много-много строчек кода, каждый лишний символ отнимает силы и время. Проще использовать сокращённые арифметические операторы.

Чтобы убедиться в том, что сокращённые арифметические операторы в коде дают такой же результат, что и полная форма арифметических операций, предлагаем Вам запустить на своём компьютере вот эти 2 небольшие программы. И в примере №2, и в примере №3 в консоль у Вас будет выведено число 9.

Источник

Что такое инкрементирование и декрементирование

Java-университет

Что такое инкрементирование и декрементирование - 1

Многие новички не знают, что такое инкремент и декремент, но уверены, все видели использование » i++ , ++i , i— или —i » в цикле for . Итак, немного пояснений.

Что такое инкремент?

Инкремент — это операция во многих языках программирования, которая выполняет увеличение переменной. Чаще всего под инкрементом подразумевается увеличение переменной на 1 единицу. Обратной операцией называют декремент. Декремент — это уменьшение переменной. Чаще всего также на единицу. В Java инкремент и декремент — это в первую очередь унарные операторы, которые применяются к какой-либо числовой переменной. Инкремент: обозначается двумя знаками плюс » ++ » и увеличивает значение переменной на 1. Декремент: обозначается двумя знаками минус » — » и уменьшает значение переменной на 1. Пример:

 int x = 10, z = 10; x++; z--; System.out.println("x: " + x + ", z: " + z); 

В результате x будет инкрементирована, а z — декрементирована. И в консоли мы увидим: x: 11 , z: 9 По факту можно писать и так:

 int x = 10, z = 10; x = x + 1; z = z - 1; System.out.println("x: " + x + ", z: " + z); 

Но зачем писать лишнее, если нам нужно увеличить или уменьшить переменную всего на 1? Хорошо, что такое и инкрементирование и декрементирование разобрались, но это еще не все. У инкремента и декремента есть 2 формы — prefix и postfix. О боже что это, подумали вы?) Не пугайтесь: тут тоже все легко. Prefix, или Префиксная форма, описывается перед переменной » ++x или —x «, изначально икрементирует или декрементирует переменную. Postfix, или Постфиксная форма, описывается после переменной » x++ или x— «, икрементирует или декрементирует переменную после вычисления. Если вы обратили внимание на слово вычисления, то сделали это не зря, так как обе формы работают одинаково, если не используются в вычислениях. Вот вам пример без вычислений:

 int x = 10, z = 10; x++; ++z; System.out.println("x: " + x + ", z: " + z); 
 int x = 10, c = 10; final int y = 13 - x++; final int z = 13 - ++c; System.out.println("y: " + y + ", z: " + z); 

Как видим, обе переменные » x и c » равны и уравнения аналогичны, НО используются разные формы записи оператора инкремента. В результате вычислений переменная y будет 3, а вот z будет 2. Вы уже наверное догадались почему, исходя из того, что написано выше. Если нет, то давайте “разжуем” все вместе. Постфиксная форма сработает после вычислений, а это значит, что уравнение сработает так:

 x = 10; // Начало уравнения. y = 13 - x; // С начала производим вычисление (x все еще 10) x += 1; // Производим увеличение на 1 // Конец уравнения. 
 c = 10; // Начало уравнения. c += 1; // Производим увеличение на 1 z = 13 - c; // Производим вычисление (c уже 11) // Конец уравнения. 

Источник

Assignment, Arithmetic, and Unary Operators

One of the most common operators that you’ll encounter is the simple assignment operator » = «. You saw this operator in the Bicycle class; it assigns the value on its right to the operand on its left:

int cadence = 0; int speed = 0; int gear = 1;

This operator can also be used on objects to assign object references, as discussed in Creating Objects.

The Arithmetic Operators

The Java programming language provides operators that perform addition, subtraction, multiplication, and division. There’s a good chance you’ll recognize them by their counterparts in basic mathematics. The only symbol that might look new to you is » % «, which divides one operand by another and returns the remainder as its result.

Operator Description
+ Additive operator (also used for String concatenation)
Subtraction operator
* Multiplication operator
/ Division operator
% Remainder operator

The following program, ArithmeticDemo , tests the arithmetic operators.

This program prints the following:

1 + 2 = 3 3 - 1 = 2 2 * 2 = 4 4 / 2 = 2 2 + 8 = 10 10 % 7 = 3

You can also combine the arithmetic operators with the simple assignment operator to create compound assignments. For example, x+=1; and x=x+1; both increment the value of x by 1.

The + operator can also be used for concatenating (joining) two strings together, as shown in the following ConcatDemo program:

By the end of this program, the variable thirdString contains «This is a concatenated string.», which gets printed to standard output.

The Unary Operators

The unary operators require only one operand; they perform various operations such as incrementing/decrementing a value by one, negating an expression, or inverting the value of a boolean.

Operator Description
+ Unary plus operator; indicates positive value (numbers are positive without this, however)
Unary minus operator; negates an expression
++ Increment operator; increments a value by 1
Decrement operator; decrements a value by 1
! Logical complement operator; inverts the value of a boolean

The following program, UnaryDemo , tests the unary operators:

The increment/decrement operators can be applied before (prefix) or after (postfix) the operand. The code result++; and ++result; will both end in result being incremented by one. The only difference is that the prefix version ( ++result ) evaluates to the incremented value, whereas the postfix version ( result++ ) evaluates to the original value. If you are just performing a simple increment/decrement, it doesn’t really matter which version you choose. But if you use this operator in part of a larger expression, the one that you choose may make a significant difference.

The following program, PrePostDemo , illustrates the prefix/postfix unary increment operator:

Источник

Читайте также:  Python send request with cookie
Оцените статью