В чем разница между + = и = +? В частности, в java, но в целом также.
В чем разница между + = и = +?
Ответ 1
i += 4;
означает
i = i + 4; // increase i by 4.
В то время как
i =+ 4;
эквивалентно
i = +4; // assign 4 to i. the unary plus is effectively no-op.
(см. http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.15.3 для того, что делает унарный +.)
Ответ 2
+=
- оператор, который увеличивает левую часть присваивания на значение правой части и присваивает ее обратно переменной слева. =+
не является оператором, но на самом деле два оператора: оператор присваивания =
и унарный плюс +
(положительный) оператор, который обозначает значение в правой части, положителен. Это фактически избыточно, потому что значения положительны, если они не сбрасываются с унарным минусом. Вам следует избегать конструкцию =+
, поскольку она скорее приведет к путанице, чем к фактической пользе.
Ответ 3
+=
: get и increment:
a += 5; // adds 5 to the value of a
=+
не является действительно действительным идентификатором сам по себе, но может появиться, когда вы используете унарный оператор +
:
a =+ 5; // assigns positive five to a
Ответ 4
= + не является оператором. + Является частью числа, следующего за оператором присваивания.
int a = 4; int b = 4;
a + = 1; b = + 1;
System.out.println( "a =" + a + ", b =" + b);
Это показывает, насколько важно правильно форматировать ваш код, чтобы показывать намерение.
Ответ 5
В частности, в java, но в целом также.
В Java x += <expr>;
эквивалентно x = x + ( <expr> );
, где оператором +
может быть арифметический оператор добавления или оператор конкатенации строк, в зависимости от типа x
. С другой стороны, x =+ <expr>;
- действительно уродливый способ записи x = + <expr>;
, где +
- это унарный плюс оператор... т.е. Не-op для числовых типов и ошибка компиляции.
Вопрос не отвечает в общем случае. Некоторые языки поддерживают оператор "+ =", а другие - нет. Аналогичным образом, некоторые языки могут поддерживать оператор "= +", а другие - нет. И некоторые языки могут позволить приложению "перегружать" того или иного оператора. Просто не имеет смысла спрашивать, что оператор означает "вообще".
Ответ 6
+=
- способ увеличения чисел или String
в java. Например.
int i = 17;
i += 10; // i becomes 27 now.
Нет оператора =+
. Но если вы делаете i =+ 10;
, значит, i
равен +10
, который равен просто 10
.
Ответ 7
Я не знаю, что вы подразумеваете под "в общем", но в ранних версиях языка C (откуда и происходит большинство синтаксиса Java, через С++), =+
был оригинальным синтаксисом для того, что позже стал +=
, т.е. i =+ 4
был эквивалентен i = i + 4
.
CRM (Справочное руководство по C) - это документ, описывающий язык C с =+
, =-
, =>>
и т.д.
Ответ 8
Если у вас есть + = b, это означает, что вы добавляете b к тому, что уже есть в a. Однако, если вы делаете a = + b, вы назначаете + b.
int a=2;
int b=5;
a+=b;
System.out.println(a); //Prints 7
a=2;
b=5;
a=+b;
System.out.println(a); //Prints 5