package leccion2;

public class Explicacion2 {
	public static void main(String[] args) {
		// Operadores de Java

		// Operadores Arítmetica.

		// int = n1; Incorrecto.
		int n1 = 7; // La asignación se produce en cuanto al valor, no en cuanto al tipo.
		int n2 = 2; // Declarar e inicializar
		int resultado; // Declarar

		// -Suma
		resultado = n1 + n2;
		System.out.println("El resultado de la suma de " + n1 + " + " + n2 + " = " + resultado); // OJO con los espacios
																									// entre literales.

		// -Resta
		resultado = n1 - n2; // Almacenando la resta + sobreescribiendo la variable resultado [Operador de
								// asignación].
		System.out.println("El resultado de la resta de " + n1 + " - " + n2 + " = " + resultado);
		System.out.println("El resultado de la resta de " + n1 + " - " + n2 + " = " + (n1 - n2)); // Forma
																									// complementaria
																									// sin utilizar
																									// variables.

		// -Multiplicación
		resultado = n1 * n2;
		System.out.println("El resultado de la multiplicación de " + n1 + " * " + n2 + " = " + resultado);

		// -División
		double n1d = n1; // CASTING
		double n2d = n2; // CASTING

		double resultadod;

		resultadod = n1d / n2d;
		System.out.println("El resultado o cociente de la división de " + n1d + " / " + n2d + " = " + resultadod);

		// -Módulo (*importante*)
		resultado = n1 % n2; // % significa haz la división pero en lugar de devolver el cociente devuelve el
								// resto.
		System.out.println("El *RESTO* de la división de " + n1 + " / " + n2 + " = " + resultado);

		// + SUMA (Con N operadores)
		resultado = 5 + 7 + 8 + 10 + 12 + 15 + 16 + 50; // Operación de suma sin variables y con N operandos.

		// OPERADORES DE ASINGACIÓN.

		int v1 = 10;

		// Añadir y asignar
		// Quiero incrementar 2 unidades a v1 (OJO: no sobreescribir)
		// v1= v1+2; #Forma 1.
		v1 += 2; // #Forma 2.

		// Restar y asignar
		// Quiero decrementar 2 unidades a v1 (OJO: no sobreescribir)
		// v1= v1-2; #Forma 1.
		v1 -= 2; // #Forma 2.

		// Multiplicar y asignar
		// Quiero multiplicar por 2 unidades a v1 (OJO: no sobreescribir)
		// v1= v1*2; #Forma 1.
		v1 *= 2; // #Forma 2.

		// Dividir y asignar
		// Quiero dividir entre 2 unidades a v1 (OJO: no sobreescribir)
		// v1= v1/2; #Forma 1.
		v1 /= 2; // #Forma 2.

		// Modulo y asignar
		// Quiero obtener el resto dividiendo entre 2 unidades a v1 (OJO: no
		// sobreescribir)
		// v1= v%2; #Forma 1.
		v1 %= 2; // #Forma 2.

		
	}

}
