2011-02-23 40 views

Respuesta

23

a += b es equivalente a a = a + b

a = +b es equivalente a a = b

a++ y ++a tanto incremento a por 1. La diferencia es que a++ devuelve el valor de a antes del incremento mientras que ++a devuelve el valor después del incremento.

Eso es:

a = 10; 
b = ++a; //a = 11, b = 11 

a = 10; 
b = a++; //a = 11, b = 10 
-1

Puede encontrar la diferencia here ¡Hay ejemplos para todos los casos que menciona!

16

a += b es equivalente a a = a + b

a = +b es equivalente a a = b

a++ es postfix incremento y ++a es prefijo incremento. No difieren cuando se usan en una declaración independiente; sin embargo, su resultado de evaluación es diferente: a++ devuelve el valor de aantes de incrementando, mientras que ++adespués de. Es decir.

int a = 1; 
int b = a++; // result: b == 1, a == 2 
int c = ++a; // result: c == 3, a == 3 
2
a += b <=> a = a + b 
a =+ b <=> a = b 
a++ // post increment, means the value gets used, and after that, a is incremented by one 
++a //pre increment, a is incremented by one before the value is used 
3

Java operators

a += b; // a = a + b 
a = +b; // a = b 
a++;  // a = a + 1 (returning a if used inside some expression) 
++a;  // a = a + 1 (returning a + 1 if used inside some expression) 
4

a + b = ========> a = a + b

a = + b ======= => a = b

++ a incrementará la variable y devolverá el valor incrementado.

a ++ incrementará la variable pero devolverá el valor antes de que se incrementara.

+1

entonces, a = + b es inútil? –

2

a ++ primero lee el valor de a y luego incrementa su valor. ++ uno primero incrementa el valor y luego lo lee. Puede ver fácilmente la diferencia al imprimirlos.

int a = 4; 
System.out.println(a++); // prints 4, after printing, a == 5 
System.out.println(++a); // first increments a, then reads its value (6), and that's what got printed. 

para a += b y a = +b, @ Péter Török ha respondido claramente antes.

4

Otros han cubierto las respuestas a la mayoría de sus preguntas. Sin embargo, les falta un poco acerca de su segundo ejemplo.

a = +b asigna el valor de +b a a.El "plus adicional" es una no operación para tipos numéricos, pero un error en tiempo de compilación en otros tipos de objetos (por ejemplo, no puede usarlo con una cadena). Se proporciona principalmente para que pueda escribir números con un signo principal + cuando lo desee. Esto nunca es necesario, pero puede mejorar la legibilidad en algunas circunstancias.

Cuestiones relacionadas