• Asignatura: Informática
  • Autor: carlosalbertorgz16
  • hace 8 años

¿Alguien que me pueda explicar como funciona el incremento en Java (NetBeans)?

Respuestas

Respuesta dada por: stevenamerica2019
1

Respuesta:

Cuando el operador se utiliza en su forma de sufijo (i++) el valor de ‘i’ se incrementa sólamente después de que el valor actual de ‘i’ haya sido utilizado en la expresión.

Veamos esto mismo con un ejemplo:

int i = 0;

System.out.println("El valor de i es: " + i++);

//En consola veremos que se ha escrito: El valor de i es: 0

System.out.println("Ahora i vale: " + i);

//En consola veremos: Ahora i vale: 1

Explicación:  Como véis el incremento de ‘i’ no sucede hasta que el valor actual de ‘i’ ha sido utilizado en la primera sentencia System.out.println.

En cambio si utilizamos el operador en su forma de prefijo (++i), primero se produce el incremento y después se utiliza el valor incrementado de ‘i’ en la expresión, por ejemplo:

int i = 0;

System.out.println("El valor de i es: " + ++i);

//En consola veremos que se ha escrito: El valor de i es: 1

System.out.println("Ahora i vale: " + i);

//En consola veremos: Ahora i vale: 1

En esta ocasión, como puede apreciarse, primero se incrementa ‘i’ y luego se utiliza su valor en la expresión.

Estas mismas reglas sirven para el operador decremental: --

Debemos tener en cuenta estas reglas, especialmente si utilizamos estos operadores en bucles for, while o sentencias de control de flujo como if, por ejemplo. Vamos a ver otro ejemplo:

int x = 2; int y = 3;  

if ((y == x++) | (x < ++y)) {

    System.out.println("x = " + x + " y = " + y);  

}

¿Qué creeis que imprimirá en consola este código? A primera vista parece un código simple, pero si os fijáis bien, en la sentencia if, puede que no tengamos tan claro qué valores tendrán ‘x’ e ‘y’ en cada momento. Vemos la solución:

La sentencia if de la segunda línea podemos leerla del siguiente modo: Si ((3 == 2) Or (3 < 4)) Entonces …

Por tanto, lo que obtendremos impreso en la consola será: “x = 3 y = 4”

Cualquier duda, mejora, sugerencia…será siempre bien recibida

Preguntas similares