JAVA se basa en secuencia de datos o un flujo de información que actúa como canal de comunicación entre nuestro programa y el entorno que lo rodea. Desde un programa se puede acceder a estos flujos mediante el uso de la clase java.lang.System
.
java.lang.System
es una clase que posee un gran número de clases relacionadas a la configuración del entorno del sistema como las clases «in
» y «out
«. In permite la entrada estándar de datos por medio de teclado y out presenta la salida de datos por pantalla.
public class HolaMundo
{
public static void main(String[] args) {
System.out.print("Hola Mundo!!!");
}
}
Hola Mundo!!!
Se muestra la salida de los datos al usar System.out.print
que es uno de las instrucciones de salida de datos.
public class CaracteresEscape
{
public static void main(String[] args) {
/***
* \033[0m Cerrar todas las propiedades
* \033[1m Establecer resaltado
* \033[4m Subrayar
* \033[5m Parpadeo
* \033[7m Pantalla inversa
* \033[8m Blanking
* \033[30m-\33[37m Establecer color de primer plano
* \033[40m-\33[47m Establecer color de fondo
* \033[nA Mueve el cursor hacia arriba n líneas
* \033[nB Mueve el cursor hacia abajo n líneas
* \033[nC Cursor n líneas a la derecha
* \033[nD Mueve el cursor hacia la izquierda por n líneas
* \033[y;xH Establecer la posición del cursor
* \033[2J Pantalla clara
* \033[K Borrar contenido del cursor al final de la línea
* \034[s Guardar posición del cursor
* \033[u Restaurar la posición del cursor
* \033[?25l Ocultar cursor
* \033[?25h Mostrar cursor
*/
System.out.print("\033[30m\u25B0");
System.out.print("\033[31m\u25B0");
System.out.print("\033[32m\u25B0");
System.out.print("\033[33m\u25B0");
System.out.print("\033[32m\u25B0");
System.out.print("\033[31m\u25B0");
System.out.print("\033[37m\u25B0");
System.out.print("\033[36m\u25B0");
System.out.print("\033[35m\u25B0");
System.out.print("\033[34m\u25B0");
System.out.print("\033[36m\u25B0");
System.out.print("\033[37m\u25B0");
System.out.print("\033[38m\u25B0");
}
}
Para la lectura de datos desde teclado se usa el flujo de datos desde System.in
pero tipificando el ingreso de los datos usaremos la clase Scanner (new Scanner(System.in)
). Este contiene diversos métodos que acepta un tipo de datos específico.
public class IngresaNumeros
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
System.out.print("Ingrese un numero entero :");
int entero = scanner.nextInt();
System.out.print("Ingrese un numero flotante :");
float flotante = scanner.nextFloat();
System.out.print("Ingrese un numero decimal :");
double decimal = scanner.nextDouble();
System.out.printf("Entero es %d\n", entero);
System.out.printf("Flotante es %.5f\n", flotante);
System.out.printf("Decimal es %.3f\n", decimal);
}
}
Desde aquí tambien podemos tipificar la salida:
public class ImprimeNumeros
{
public static void main(String[] args)
{
/**
* d Un entero decimal.
* f Un flotador.
* n Un carácter de nueva línea siempre debe usar %n,
* tB Conversión de fecha y hora: nombre completo del mes específico de la configuración regional.
* td, te Una conversión de fecha y hora: día del mes de 2 dígitos. td tiene ceros a la izquierda según sea necesa
* ty, tY Una conversión de fecha y hora: ty = año de 2 dígitos, tY = año de 4 dígitos.
* tl Conversión de fecha y hora: hora en formato de 12 horas.
* tM Una conversión de fecha y hora: minutos en 2 dígitos, con ceros a la izquierda según sea necesario.
* tp Una conversión de fecha y hora: am / pm específica de la configuración regional (minúsculas).
* tm Una conversión de fecha y hora: meses en 2 dígitos, con ceros a la izquierda según sea necesario.
* tD Una conversión de fecha y hora: fecha como% tm% td% ty
* 08 Ocho caracteres de ancho, con ceros a la izquierda según sea necesario.
* + Incluye signo, ya sea positivo o negativo.
* , Incluye caracteres de agrupación específicos de la configuración regional.
* - Justificado a la izquierda ..
* .3 Tres lugares después del punto decimal.
* 10,3 Diez caracteres de ancho, justificados a la derecha, con tres lugares después del punto decimal.
*/
double valor = 4657987.87921231;
System.out.println("Mostrar un mismo valor con varios formatos");
// El simbolo es un salto de linea
//normal double y float
System.out.printf("El valor es %f%n", valor);
//con notación científica
System.out.printf("El valor con notación científica es %e%n", valor);
//con 2 decimales
System.out.printf("El valor con 2 decimales es %.2f%n", valor);
//con 6 decimales
System.out.printf("El valor con 6 decimales es %.6f%n", valor);
//con simbolo + y 2 decimales
System.out.printf("El valor con simbolo + y 2 decimales es %+.2f%n", valor);
//con espacios en blanco (suman 11 todas las cifras) con 2 decimales
System.out.printf("El valor con espacios en blanco (suman 11 todas las cifras) con 2 decimales es %11.2f%n", valor);
//con espacios en blanco (suman 11 todas las cifras) con símbolo + y 2 decimales
System.out.printf("El valor con espacios en blanco (suman 11 todas las cifras) con símbolo + y 2 decimales es %+11.2f%n", valor);
//con ceros delante (suman 11 todas las cifras) con 2 decimales
System.out.printf("El valor con ceros delante (suman 11 todas las cifras) con 2 decimales es %011.2f%n", valor);
//con ceros delante (suman 11 todas las cifras) con símbolo + y 2 decimales
System.out.printf("El valor con ceros delante (suman 11 todas las cifras) con símbolo + y 2 decimales es %+011.2f%n", valor);
//separando los miles (4,657,987.87921231 en lugar de 4657987.87921231)
System.out.printf("El valor separando los miles %,f en lugar de %f%n", valor, valor);
}
}
El valor es 4657987.879212
El valor con notación científica es 4.657988e+06
El valor con 2 decimales es 4657987.88
El valor con 6 decimales es 4657987.879212
El valor con simbolo + y 2 decimales es +4657987.88
El valor con espacios en blanco (suman 11 todas las cifras) con 2 decimales es 4657987.88
El valor con espacios en blanco (suman 11 todas las cifras) con símbolo + y 2 decimales es +4657987.88
El valor con ceros delante (suman 11 todas las cifras) con 2 decimales es 04657987.88
El valor con ceros delante (suman 11 todas las cifras) con símbolo + y 2 decimales es +4657987.88
El valor separando los miles 4,657,987.879212 en lugar de 4657987.879212