Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso de Introducción a Java SE

Curso de Introducción a Java SE

Anahí Salgado Díaz de la Vega

Anahí Salgado Díaz de la Vega

Operadores de Asignación, Incremento y Decremento

16/39
Recursos

Operadores de asignación:

  • +=: a += b es equivalente a a = a + b.
  • -=: a -= b es equivalente a a = a - b.
  • *=: a *= b es equivalente a a = a * b.
  • /=: a /= b es equivalente a a = a / b.
  • %=: a %= b es equivalente a a = a % b.

Operadores de incremento:

  • ++: i++ es equivalente a i = i + 1.
  • --: i-- es equivalente a i = i - 1.

Podemos usar estos operadores de forma prefija (++i) o postfija (i++). La diferencia está en qué operación se ejecuta primero:

// Incremento postfijo:
int vidas = 5;
int regalo = 100 + vidas++;

System.out.println("Regalo: " + regalo + ", vidas: " + vidas);
// Regalo: 105, vidas: 6

// Incremento prefijo:
int vidas = 5;
int regalo = 100 + ++vidas;

System.out.println("Regalo: " + regalo + ", vidas: " + vidas);
// Regalo: 106, vidas: 6

Aportes 82

Preguntas 9

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Operadores de Asignación
.

Incremento y Decremento
.

Gracias por la clase anahi, yo por mi parte lo puse en practica como si fuera un juego, y agregue un numero random en donde, si ese numero random es igual 1 le quita vida, si no, aumenta su puntaje, comparto el codigo:
Codigo ------->

Resultado ------->

😀 Postfijo este primero accede al dato y realiza la operación, en cambio prefijo obtiene el dato incrementado.

Igual esto confunde desde el punto de vista de razonarlo como un juego real, ya que si gana 100 puntos por ganar su quinta vida debería tener 100 puntos y ahora 5 vidas en vez de 4, y no 105 puntos. Es como que esta todo muy bien explicado pero como crítica debería estar bien planteado el ejemplo ya que quizás uno termina por perder tiempo razonando eso.

Apunte

Operadores Aritmeticos en java

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
       int a=3, b=2;

       int c = a + b;
       System.out.println("c = " + c);

        System.out.println("resultado:" + (a + b));
        System.out.println(a + b + " resultado");

        int d = a - b;
        System.out.println("d = " + d);

        System.out.println("resultado resta:" + (a - b));

        int e = a * b;
        System.out.println("e = " + e);

        double f = 3D / b;
        System.out.println("f = " + f);

        int g = a % b;
        System.out.println("g = " + g);

        int z = 7 % 2;
        System.out.println("z = " + z);
        if(z == 0)
            System.out.println("El numero es par");
        else
            System.out.println("El numero es impar");
    }
}```

Son excelentes estos operadores cuando los aplicas te ayudan a abreviar mucho código, siempre en cuanto se tenga en cuenta la tabla que Anahí explica, por cuestiones de orden y como se aplican las formulas

no creo entender del todo el funcionamiento. Porque si con el postfijo no tomara en cuenta si se incrementa o no… por que ponerlo? no seria lo mismo que solamente colocar la variable con el ultimo valor y y ya? Si alguien pudiera orientarme se lo agradecería mucho 😃
nt gift = 100 + lives++;
System.out.println(gift);
int gift = 100 + lives;
System.out.println(gift);

o por dios ya por fin entendi por que en un for se utiliza el i++ ni el profesor de la universidad me supo explicar el pór que




Un ejemplo aplicado nos caeria muy bien… 😉

Muy buena clase, sobre todo que en nuestros ciclos los de incremento y decremento son los que mas utilizamos :3

<h3>Class Notes</h3>

Code:

import java.lang.*;

/**
 * IncreaseDecrease
 */
/*
 * Operadores de asignación:

+=: a += b es equivalente a = a + b.
-=: a -= b es equivalente a = a - b.
*=: a *= b es equivalente a = a * b.
/=: a /= b es equivalente a = a / b.
%=: a %= b es equivalente a = a % b.
Operadores de incremento:

++: i++ es equivalente a i = i + 1.
--: i-- es equivalente a i = i - 1.

Note: can be either ++i or i++ (but i++ is better)
Note #1: technically they are the same, but they aren't

Order of execution:
    i++;
1. get value `i`
2. add ++
but, in this example:
        5 + i++; //conclusion: gets value
    1. get value `i`
    2. 5 + i //because of this, the final resault wont get the ++ increment, only `i`
    3. i++
----------------//----------------
    ++i;
1. get i value
2. add ++ to i value
example:
    5 + ++i; //conclusion: gets incremented value
        1. get i value
        2. add ++ to i value
        3. add i + 5 //in this case the result will end up with `i`'s increment (++)

 */

public class IncreaseDecrease {

    public static void main(String[] args) {
        //let's supppose this is Mario Bros!
        //
        System.out.printf("🎮---Mario-Bros---🎮\n\n");
        int lives = 5; //five lives
        int points = 0;
        System.out.printf("Initial lives: %d\nPoints: %d\n\n", lives, points); //(5,0)

        //let's supppose something happened to Mario
        lives--;
        System.out.printf("🔥 Lives after a fight: %d\n", lives); //4

        //now let's supppose Mario got a powerup
        lives++;
        System.out.printf("🔥 Lives after powerup: %d\n", lives); //5

        //now Bowser hitted him with a bat...
        lives--;
        System.out.printf("🔥 Lives after being hitted: %d\n\n", lives); //4


        //prefix way of i++
        //PlotTwist: whenever mario gets a life, he gets 100 points + the current ammount of lives + 1!
        //int gift = 100 + lives++; //this will not work, becuase it will add 100 + lives, and then it's gonna increment lives++; however since it was already added to the lives counter it simple does not count

        int gift = 100 + ++lives;
        points += gift;
        System.out.printf("Ayoo! Mario got a powerup, a gift!\n");
        System.out.printf("Points: %d⭐\n\n", points);
    }
}

Output:

🎮---Mario-Bros---🎮

Initial lives: 5
Points: 0

🔥 Lives after a fight: 4
🔥 Lives after powerup: 5
🔥 Lives after being hitted: 4

Ayoo! Mario got a powerup, a gift!
Points: 105

Genial!! Siempre tuve la duda del prefijo y postfijo

Es lo mismo a++ y a+=? En otros lenguajes se puede usar eso al menos.

Que buena clase :)

__Incremento y Decremeto __🧐🧐 👇

  • Prefijo : ++i (Suma 1 y después suma el valor actual que tiene i)
  • Posfijo: i++ (Únicamente se accede al dato de la variable sin incrementar 1)
        int liv = 2;
        int gift2 = 100 + ++liv; //103
        System.out.println(gift2);

        int live = 2;
        int gift3 = 100 + live++; //102
        System.out.println(gift2);

lo que aprnedi en todo un semestre de U, aqui lo aprendi en 9 min

Hola a todos compañeros, he creado un archivo con mis apuntes del curso todo totalmente estructurado y organizado para que les sea mas amena la lectura. https://docs.google.com/document/d/1CmllLKd35eKbXnhbimAtuhmvHGIquHhwGLXBWH1M9BE/edit?usp=sharing
saludos a todos. 🧠🧠🧠🧠

perfecto

public class MarioBros {
    public static void main(String[] args) {

        //hello
        System.out.println("Hello there, welcome to Mario Bros");
        //lives=3 and lives==0 die
        int lives =3;
        int points = 0;

        System.out.println("Start the game");

        //round 1
        points =+ 200; //200
        lives -= 1; //2

        //round 2
        points += 500; //700
        lives +=1; //3

        //round 3
        points += 350; //1050
        lives -= 1;  //2

        //round 4
        points += 500; //1550
        lives -=1;  //1

        //round 5
        points += 400; //1950
        lives -=1;  //0

        if(lives==0){
            System.out.println("You are death");
        }

        System.out.println("You have obtained " + points);
    }
}

Operadores de Asignación, incremento, y decremento
Operadores de asignación.
+= ==> a+=b
-= ==> a+=b
*= ==> a+=b
/= ==> a+=b
%= ==> a%=b

Operadores de incremento
++ ==> i++
-- ==> i--

Se pueden utilizar prefijo o postfijo al realizar un incremento o decremento y la diferencia radica en el orden en que se ejecuta el código. En el caso de ++i primero se aumenta el número y después se muestra el valor, en el caso de i++ primero se muestra el valor de i y después se hace el incremento.
Prefijo ==> ++i
Postfijo ==> i++

  • Asignación
  • Incremento/Decremento

Muy interesante el uso de variables prefija y postfija

Operadores de Incremento y decremento aplicados a Platzi 😁

var cursosAprobados = 7;
cursosAprobados++;

var diasPlanPlatzi = 130;
diasPlanPlatzi--;

Me ayudó a comprender lo de los prefijos y subfijos:

-Me gustó la parte de los prefijos
-Más claro no se puede
-No me sabía ese truco

Excelente clase y mejor Anahí, eres la mejor

que buena explicación, me está empezando a gustar Java

Incremento y Decremento

Operadores de Asignación

Muy bien explicado.

siguiendo la clase

buena clase para especificar como funcionan las formas post y pre

public class IncrementDecrement {
    public static void main(String[] args) {
        int lives = 5;
        System.out.println(lives); // 5

        lives --; //decremento
        System.out.println(lives); //4

        lives ++; //Incremento
        System.out.println(lives); //5

        // forma prefijaprefija
        // gana un regalo por ganar una vida
        int gitf = 100 + lives++;//forma postfija
        System.out.println(gitf);
        System.out.println(lives);

        gitf = 100 + ++lives;  // forma pretfija
        System.out.println(gitf);
        System.out.println(lives);
    }
}```

Gracias por estas clase!! aunque me confundo con lo de prefijo y postfijo ya voy entendiendo un poco mas!!
int lives = 5;
lives = lives - 1;
System.out.println(lives); //4

    lives--; //Decremento
    System.out.println(lives); //3

    lives++; //Incremento
    System.out.println(lives); //4


    //Prefio
    // Gana el regalo por ganar la vida
    int gift = 100 + ++lives; //Prefijo
    System.out.println(gift);
    System.out.println(lives); //5

Excelente explicación!!

Pocos profesores explican tan bien.
gracias!

muy buena explicación

![](

public class DataTypes {
    public static void main(String[] args) {
        var n=0;
        n++;
        n=n*98;
        
        System.out.println(n);


    }
}
public class IncrementDecrement {
    public static void main(String[] args) {
        int lives = 5;
        lives = lives - 1;
        System.out.println(lives); //4

        lives--; //Operador decremento
        System.out.println(lives); //3

        lives++; //Operador incremento
        System.out.println(lives); //4

        //Prefijo
        //Gana un regalo por ganar una vida
        int gift = 100 + ++lives; //Prefijo
        // int gift = 100 + lives++; //Postfijo
        System.out.println(gift);
        System.out.println(lives);

    }
}```
Ya me sabía lo de incremento y decremento por lo otro que se de programación. Pero lo de ++lives y lives++ no me la sabia, no se si veo muy útil mostrar o usar live++ si no va a mostrar lo incremento. Pero bueno, buena clase.

que es i ==

CLara explicación de prefijo y postfijo

public static void main(String[] args) {
/*
DESGLOSE DE OPERACIONES
+= a + = b a= a+b
-= a - = b a = a-b
+= a * = b a = a*b
/= a / = b a = a/b
MODULO %= a % = b a = a%b
*/

    /*
    INCREMENTO      ++          i++         i= i+1
    DECREMENTO      --          i--         i= i-1

    PREFIJO: ++i
    POSTFIJO: i++
     */
    //FORMA POSTFIJA: Accede al dato ANTERIOR de la variable y la incrementa
    int lives = 5;
    lives = lives -1;
    System.out.println("LIVES OF MARIO "+ lives);
    lives --;
    System.out.println("LIVES OF MARIO LEVEL 1:  "+ lives);
    lives ++;
    System.out.println("LIVES OF MARIO LEVEL 2:  "+ lives);

    // FORMA PREfIJA: ACCEDE EL VALOR (ACTUAL) DE LA VARIABLE Y SUMA
    System.out.printf("FORMA PREFIJA");
    int gift = 100 + lives++;
    System.out.println("MARIO LIVES LEVEL 10:  "+gift + "  LIVES  "+ lives);


}
`<code>
public class IncremenDecrement {
    public static void main(String[] args) {
        int lives = 5;
        lives  = lives - 1;

        System.out.println(lives);

        lives--;
        System.out.println(lives);

        lives++;
        System.out.println(lives);

        //prefija
        //Gana u  regalo pro vida
        int gift = 100 + lives++;
        System.out.println(gift);

    }
}```

porque lives sigue siendo 5?

Interesante el dato sobre los prefijos y posfijos no lo conocía, por cierto, fue muy clara y entretenida la explicación por medio de una situación que sucede en Mario bros

Muy buen dato lo de prefijo y postfijo ¿En qué situaciones es útil utilizar el postfijo? Estoy seguro que hay varias pero no se me ocurre alguna. Lo pregunto para tomar este dato en cuenta en mis estudios posteriores.

Muy util a la hora de aplicar condiciones o logicas de negocio.

Excelente curso

public class IncrementoDecremento {
    public static void main(String[] args) {
        int vidas = 5;
        vidas = vidas - 1;
        System.out.println(vidas);  //4
        vidas--;    //decremento
        System.out.println(vidas);  //3
        vidas++;    //incremento
        System.out.println(vidas);
    }
}

vengo de un curso basico de POO de la universidad y hay muchas cosas que no sabía…

Genial

me gusta el curso y la forma de enseñanza.

Quedo muy claro la explicación de prefijo y postfijo.

Entendido 😃

😄 excelente los operadores de asignación, es igual que en javascript

Forma prefija y post no las había entendido hasta hoy!!! ❤️

Súper clases!!

A ver entiendo, cuándo se toca el tema de los postfijos (tanto incremento como decremento), no aumenta o disminuye su valor en este caso, al sumar con la cantidad de vidas dadas, en el caso de los prefijos ocurre lo contrario.

Clarísimo. Gracias

excelente explicación, lo aplique usando la misma temática.

public class IncrementDecrementJava {
    public static void main(String[] args) {

        int lives = 5;
        lives--;
        System.out.println(lives);
        lives++;
        System.out.println(lives);

        //puntos
        //vidas
        int gift = 100 + lives++;
        System.out.println(gift);
        System.out.println(lives);
    }
}

**Incremento o decremento posfijo: ** Devuelve el valor original de variable antes de ser incrementada. Es el valor de la variable antes que el nuevo valor sea almacenado.

**Incremento o decremento prefijo: ** Devuelve el valor de la variable incrementada. Es el valor de la variable después que el nuevo valor es almacenado.

Excelente actividad Anahí, gracias por tu conocimiento.

Genial la forma en que debemos aplicar el prefijo y el postfijo para diversas situaciones

a diferencia de otros lenguajes por ++ me agrada java xD

Estuvo super bueno explicado con el ejemplo con las vidas de Mario. dentro de un bucle for también es super utilizado los incrementos y decrementos.

Yo aprendí a programar primero en c++ y todo lo que estoy mirando ahora, es como si estuviera programando en c++, pero cambiando unas minimas cosas xD

excelente clase

Debemos tener en cuenta con los Operadores de Incremento y Decremento lo siguiente:

Operador ternario

Este operador devuelve un valor que se selecciona de entre dos posibles. La selección dependerá de la evaluación de una expresión relacional o lógica, que puede tomar dos valores: verdadero o falso.

El operador tiene la sintaxis

expr ? valor1 : valor2 

La evaluación de la expresión decidirá cual de los dos posibles valores se devuelve. En el caso de que la expresión resulte cierta, se utiliza valor1, y cuando la expresión resulte falsa, se utiliza el valor2.

Simbolo

  • ? :

Un ejemplo sería el siguiente:

int a, b;

a = 3 < 5 ? : -1;   //3 < 5 es verdadero: a toma el valor 1
b = a == 7 ? 10 : 20;   // a (que vale 1) == 7 es falso: b toma el valor 20 

gracias por la clase anahi pero estaria bien si pusieras otro ejemplo en vez del juego para entenderlo mejor

El prefijo aumenta o decrementa una variable antes

Me has hecho entender cada vez mas este lenguaje de programacion ❤️

Esta clase me dejo confundido pero al final se puede comprender