package amgarcia;

import java.util.Scanner;

public class Clase1 {

	public static void main(String[] args) {
		// 1. Declaración e inicialización de variables.

		// - Declaración [Bajo Nivel] - (Reserva un espacio en memoria con esta
		// referencia).
		byte pepito;

		// - Inicialización [Bajo Nivel] - (El espacio que has reservado en
		pepito = 12;

		// - Declaración e inicialización
		byte pepe = 30;

		// 2. Tipos de datos

		// Tipos de datos numéricos
		// - Tipos de datos numéricos (Enteros)
		byte numero1 = 32;
		short numero2 = 2000;
		int numero3 = 500000;
		long numero4 = 1200000L;

		// - Tipos de datos numéricos (Decimal)
		double numeroDecimal1 = 25.26;
		float numeroDecimal2 = 44.55F;

		// Tipos de datos 'alternativos'
		boolean condicion = true; // También puede almacenar un false.

		// Tipos de datos (caracter/es)
		// - Caracter
		char caracter = '/'; // Se incializa con un carácter que se abre y cierra con => (')

		// - Caráceres
		String cadenaCaracteres = "Peptio"; // Se incializa con un texto que se abre y cierra con => (")

		// 2. Impresión por pantalla.
		System.out.println("Mi primer mensaje por pantalla"); // Ejemplo de prueba.

		// 3. Entrada de datos
		Scanner sc = new Scanner(System.in);

		// Ejercicio 1. Declara las siguientes variables en base a las especificaciones
		// pertinentes.

		// - La edad de una persona.

		// byte = "Edad Persona"; //No se le asigna un nombre de variable, y además se
		// le asigna una cadena de carácteres no un dato numérico.
		byte edadPersona;

		// - Letra del DNI.

		char letraDNI;

		// - Segundos que pasaron desde que Cristo nació.

		long segundosDesdeCristo;

		// - Interructor para saber si algo está encendido o apagado.

		boolean interruptor;

		// - Apellido de una persona.

		String apellidoPersona;

		// - Número grande "indefinido".

		int numeroGrande;

		// - Resultado de una division

		double resultadoDivision1;
		float resultadoDivision2;

		// - Año en el que estamos.

		short yearActual;

		// Ejercicio 2. Inicializa las variables que has desclarado en el ejercicio
		// anterior.

		edadPersona = 25;
		letraDNI = 'A';
		segundosDesdeCristo = 60000000000L; // El tipo de datos LONG siempre tiene que llevar una L al final para
											// indicar que se trata de un LONG.
		interruptor = true;
		apellidoPersona = "Martínez García"; // El tipo de dato String siempre tiene que abrirse y cerrarse con (").
		numeroGrande = 304547; // El tipo de datos int no tiene decimales.
		resultadoDivision1 = 3.14;
		resultadoDivision2 = 3.14F;// El tipo de datos LONG siempre tiene que llevar una F al final para indicar
									// que se trata de un FLOAT.
		yearActual = 2025;

		// Ejercicio 3. Declara e inicializa cada tipo de variable visto.

		boolean v1 = true;
		char v2 = 'a';
		byte v3 = 125;
		short v4 = 255;
		int v5 = 60000000;
		long v6 = 569874168L;
		float v7 = 3.1416F;
		double v8 = 3.141617;
		String v9 = "Papá";

		// --------------------

		// Ejerccio 4. Imprime por pantalla tu nombre y apellido

		// System.out.println("Antonio Martínez García");

		// Ejercicio 5. Imprime por pantalla tu nombre y apellido (en 2 String nombre y
		// apellido)

		// System.out.println("Antonio " + "Martínez García"); //Ejemplo didáctico para
		// ver como se concatenan 2 String. (Operador para concatenar String)

		// System.out.print("Antonio ");
		// System.out.print("Martinez Garcia");

		// Ejercicio 6. Pide el nombe y apellido del usuario y almacenalo en 2 variables
		// (nombre) y (apellido) [Ejercicio Guiado]

		// System.out.println("Introduzca el nombre del usuario");
		// Forma 1.
		// String nombre = sc.nextLine();

		// Forma 2.
		// String nombre1;
		// nombre1 = sc.nextLine();

		// System.out.println("El nombre introducido es: "+nombre);

		System.out.println("Introduzca el nombre del usuario");

		String nombre = sc.nextLine();

		System.out.println("Introduzca el primer apellido del usuario");

		String apellido1 = sc.nextLine();

		System.out.println("Introduzca el segundo apellido del usuario");

		String apellido2 = sc.nextLine();

		System.out.println("El nombre y apellido introducido es " + nombre + " " + apellido1 + " " + apellido2);

	}

}
