package leccion1;

public class Explicacion1 {

	public static void main(String[] args) {
		
		//Explicaciones contenidas en esta clase:
		//Variabes, Constantes, Operador de Asignación (=), Operador de Concatenación (+) [Entre variables].
		//Impresión por pantalla.
		//Declaración, inicialización, declaración e inicialización.
		
		//TIPOS DE VARIABLES [Datos primitivos] (Tienen un tamaño fijo)
		
		//Almacena un caracter 	→ char 
		char variable1 = 'C';
		
		//Almacenar un (interruptor) → boolean
		boolean variable2a = true; 
		boolean variable2b = false; 

		//Almacenar un número
		
		//- Entero
		byte variable3 = 127; //[-128,127]  (Intervalo cerrado incluye los números que limitan el intervalo).
		short variable4 = 120; //[-32.768,32.767]
		int variable5 = 250000; //[-2.147.483.648,2.147.483.647]
		long variable8 = 45646548746548944L; //[Tamaño 64 bits]
		
		//- Decimales
		float variable6 = 21.64f; //[Tamaña 32 bits]
		double variable7 = 25.657; //[Tamaño 64 bits]
		
		//--
		
		
		//-
		
		//TIPO DE DATO (Básico) (PERO NO PRIMITIVO)
		//Almacenar cadenas de carácteres → String
		String nombreLocalidad = "Coslada es una ciudad muy bonita (Ironía)";

		
		
		//FORMAS DE COMENTARIOS
		
		
		// Comentarios en línea.
		
		/*
		Comentarios multilínea.
		 */
		
		//---
		
		
		//Declaración VS Inicialización VS Declaración e inicialización
		
		int habitantesLocalidad; //Declarar. (Declarar su existencia).
		
		habitantesLocalidad = 80000; //Inicializarlo (Darle un valor).
		
		int habitantesPais = 45000000; //Declarando e inicializando.
		
		//---
		
		//Ejercicios.
		
		//Ejercicio 1. Se pretende declarar e inicializar (en líneas separadas), utilizando la referencia (nombre de variable) 
		// más adecuada para la ocasión las siguientes variables.
		
		//a) La edad de mi padre.
		//short edad de mi familia; 
		short edadPadre;
		edadPadre = 48; //Inicialización usando el operador de asignacion '='.
		
		//b) Letra de mi portal
		char letraPortal;
		//letraPortal=A;
		letraPortal = 'A'; //El tipo de dato char almacena carácteres entre comillas simples.
		
		//c) Se quiere saber si es VERDAD o MENTIRA una frase.
		boolean esVerdad;
		esVerdad = true;
	
		
		//d) El valor de PI.
		//long valorPi = 3.14; //Long es un tipo de valor entero.
		double valorPi;
		valorPi = 3.14;
		
		//e) La calle en la que vivo.
		String nombreCalle;
		nombreCalle = "Avenida de la Constitución"; //Literal : "Avenida de la Constitución"
		
		
		//f) Los segundos de vida de 25 generaciones.
		long segundosVida; //segundosVida es una variable que almacena los segundos de vida de 25 generaciones.
		segundosVida = 4376896537L;
		
		//g) El nombre de mi conyuge.
		String nombreConyuge;
		nombreConyuge = "Alex";
		
		//-
		
		//Salida / Impresión por pantalla.
		System.out.println("Laura es una persona"); //Le doy al método un LITERAL.
		System.out.println("El nombre de la calle en la que vivo es: "+nombreCalle); //Operación de concatenación '+'.
		//System.out.print();

		//Ejercicio 2a. Imprime por pantalla el contexto de cada apartado del ejercicio1 y su valor.
		System.out.println("\nEJERCICO 2A."); // "\n" → Equivale a un intro.
		System.out.println("Apartado a) "+"La edad de mi padre es: "+edadPadre);
		System.out.println("Apartado b) "+"Letra de mi portal es: " +letraPortal);
		System.out.println("Apartado c) "+"¿La frase es verdad?: "+esVerdad);
		System.out.println("Apartado d) "+"El valor de PI es: "+valorPi);
		System.out.println("Apartado e) "+"La calle en la que vivo es: "+nombreCalle);
		System.out.println("Apartado f) "+"Los segundos de vida de 25 generaciones: "+segundosVida);
		System.out.println("Apartado g) "+"El nombre de mi conyuge es: "+nombreConyuge);
		
		//Ejercicio 2b. Imprime por pantalla el contexto de cada apartado del ejercicio1 y su valor.
		//CONSTANTES
		//Su valor se mantiene constante en el tiempo, por ende, no se puede reasignar.
		final String APARTADOA = "Apartado a) "; 
		final String APARTADOB = "Apartado b) ";
		final String APARTADOC = "Apartado c) ";
		final String APARTADOD = "Apartado d) ";
		final String APARTADOE = "Apartado e) ";
		final String APARTADOF = "Apartado f) ";
		final String APARTADOG = "Apartado g) ";
		
		System.out.println("\nEJERCICO 2B."); // "\n" → Equivale a un intro.
		System.out.println(APARTADOA+"La edad de mi padre es: "+edadPadre);
		System.out.println(APARTADOB+"Letra de mi portal es: " +letraPortal);
		System.out.println(APARTADOC+"¿La frase es verdad?: "+esVerdad);
		System.out.println(APARTADOD+"El valor de PI es: "+valorPi);
		System.out.println(APARTADOE +"La calle en la que vivo es: "+nombreCalle);
		System.out.println(APARTADOF+"Los segundos de vida de 25 generaciones: "+segundosVida);
		System.out.println(APARTADOG+"El nombre de mi conyuge es: "+nombreConyuge);
		

		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
	}

}
