Ir al contenido principal

La salida de datos hacia la consola en Java

Salida de datos a consola JavaCuando comenzamos a trabajar con Java usualmente utilizamos la consola para poder dar salida a los datos que procesamos y de esa manera identificar si el proceso que estamos tratando de codificar se realiza de la manera correcta, el “Hola Mundo” es usualmente lo primero que vemos impreso en esa pequeña pantalla negra. Al paso del tiempo utilizamos esa misma consola para identificar errores, visualizar algunos datos específicos, dar seguimiento a los procedimientos, etc.

En este artículo explicaré cómo utilizar esa consola para visualizar y formatear los datos que procesamos.

System.out.println

Al hablar de la salida a consola lo primero que nos llega a la mente es el método System.out.println() que es el que utilizamos la mayor parte de las ocasiones y lo hacemos con algo parecido a lo siguiente:

System.out.println("Hola Mundo"); 
System.out.println(cadena);

El método System.out.println() recibe un objeto como argumento, ya sea de manera explícita escribiendo el valor directamente o de manera implícita con una variable / objeto  dentro de los paréntesis. Nos permite imprimir prácticamente cualquier tipo de valor (cadenas, enteros, objetos, etc).

Cuando necesitamos que en una sola sentencia se de salida a diversos tipos de valores lo que debemos hacer es concatenar dichos valores y en la mayoría de las ocasiones nos servirá el signo más (+) para realizarlo.


System.out.println("Tu edad es: "+24+"  Tu altura es: " + altura);

Si suponemos que el valor de altura es 1.76 entonces la salida será la siguiente:

Tu edad es: 24  Tu altura es: 1.76

Un aspecto a considerar es que System.out.println() termina con la línea de escritura en la consola, por ejemplo, si tenemos algo así...

System.out.println("Hola Mundo"); 
System.out.println("mi nombre es Luis!");

las dos sentencias se verán reflejadas en la consola así:

Hola Mundo 
mi nombre es Luis!

Si lo que necesitas es que la salida de diversas sentencias se realice en una sola línea debes llamar al método System.out.print(), la única diferencia entre uno y otro es que este último no tiene 'ln' al final. Por ejemplo:

System.out.print("Hola Mundo"); 
System.out.print(" mi nombre es Luis!");

Te da la siguiente salida:

Hola Mundo mi nombre es Luis!

Tras lo anterior podemos deducir que:

System.out.println("Hola Mundo"); 

es igual a

System.out.print("Hola Mundo \n");

El arte de formatear números flotantes

En los ejemplos anteriores vimos cómo utilizar la salida a consola para cadenas y números enteros pero ¿qué sucede si tenemos números flotantes?.

Si bien en Java hay diversas maneras de formatear cantidades, en este caso abordaremos la que considero más sencilla a la hora de imprimir a consola: el método System.out.printf()

Supongamos que en algún momento deseas imprimir en consola una cantidad flotante y obtienes algo así:

El total de su compra es de: $13.78654321945

Pero realmente lo que necesitas sería algo como esto:

El total de su compra es de: $13.78

Para lograr lo anterior Java puso a disposición de nosotros (a partir de la versión 5.0) el método printf que nos permite dar a la salida en consola un formato específico, se comporta de manera similar a print pero te permite especificar, por ejemplo, la cantidad de números que deseas obtener tras el punto decimal. Un ejemplo sería el siguiente:

double total = 13.7; 
System.out.print("$"); 
System.out.printf("%6.2f",total); 
System.out.print(" a pagar");

El código anterior muestra en consola:

$ 13.70 a pagar

Al utilizar el método printf debemos especificar primeramente el formato que se aplicará (dentro de comillas dobles) y posteriormente el objeto, variable o cantidad a formatear. Desglosando el caso que tomamos por ejemplo obtenemos que:

  • "%6.2f" -> es el formato a aplicar
  • total -> es la variable cuyo valor deseamos formatear

Ahora analicemos el formato:

  • % -> indica que a partir de ahí encontraremos un especificador de formato.
  • 6 -> indica la cantidad de espacios en total que ocupará la cantidad formateada.
  • .2 -> indica la cantidad de números tras el punto decimal.
  • f -> indica que la cantidad es de punto flotante

Dado que en el ejemplo anterior especificamos que los espacios a ocupar serían 6, la salida con formato es así " 13.70", es decir, se agrega un espacio al inicio para completar los 6 que indicamos.

Si quisiéramos imprimir la salida anterior completa en una sola sentencia podríamos hacerlo de la siguiente manera:

System.out.printf("$%6.2f a pagar",total);

La salida sería así:

$ 13.70 a pagar

Cabe mencionar que los argumentos del formato (en este caso el 6 y el .2) son opcionales, puedes omitir cualquiera de los dos o ambos.

Así como existe el %f para flotantes, está el %s para cadenas, %d para enteros y algunos otros mostrados en la siguiente tabla:

Caracteres de conversión


Hasta aquí llegamos en este artículo, como siempre tus comentarios son bienvenidos.

Si el código te fue útil te invito a que me ayudes a difundirlo desde los botones sociales (Twitter, Facebook, Google+).

De igual manera puedes suscribirte al blog original feed  para que los nuevos artículos lleguen a tu bandeja de correo o lector de Feeds favorito.

Comentarios

  1. me parece que le falta un argumento en:
    System.out.printf("$%6.2f a pagar");
    seria asi no?
    System.out.printf("$%6.2f a pagar", total);
    :)

    ResponderBorrar
  2. Tienes toda la razón, lo omití pero ya está corregido, gracias por avisarme ;)

    ResponderBorrar
  3. buen post amigo!!! me ayudo mucho...

    ResponderBorrar
  4. Hubieras agregado como poner que el numero salga negativo :D

    ResponderBorrar

Publicar un comentario

Este es un espacio abierto, puedes escribir lo que gustes respetando los siguientes puntos:

1.- Lo que escribas esté relacionado con el post, si gustas contactarme puedes hacerlo aqui.

2.- Todo es cuestionable, aunque ten en cuenta que existen formas de hacerlo, evita las agresiones y revisa tu lenguaje antes de publicar un comentario.

3.- Siempre hay tres verdades: tu verdad, mi verdad y la verdad, por lo que opiniones diferentes no necesariamente son equivocadas.

4.- Los comentarios son una forma de discusión abierta, por lo que al publicar uno, implícitamente entras a una discusión, con todo lo que esto representa.

5. Me reservo el derecho de eliminar comentarios que no respeten las condiciones mencionadas anteriormente.

Toma en cuenta que puedes utilizar emoticones en tu comentario, para ver una lista de los disponibles da clic en este enlace.

Entradas más populares de este blog

3 sencillos pasos para tramitar la ayuda por desempleo de la AFORE

¿Tienes dinero ahorrado en tu AFORE y en este momento no estás trabajando o estás trabajando pero no tienes seguro social? Si respondiste sí a la pregunta anterior entonces hay una buena noticia para ti: puedes retirar una parte del dinero que tienes ahorrado. Y lo mejor, es muy sencillo. En este artículo te diré paso a paso qué hacer para obtener ese dinero, sin tecnicismos legales ni nada por el estilo, simple y sencillamente lo que necesitas saber. Paso Número 1: Obtener los últimos 2 estados de cuenta de tu Afore Esto en la mayoría de los casos es sumamente sencillo ya que dichos estados de cuenta llegan directamente al domicilio del ahorrador, si este es tu caso puedes saltar lo restante en este punto y continuar con el paso número 2, en caso contrario sigue leyendo… Si no tienes tus estados de cuenta debes ponerte en contacto con la empresa encargada de administrar tu ahorro para que te los proporcione, normalmente te van a pedir una identificación oficial, comprobante de

Conectar una base de datos en MySQL con NetBeans

NetBeans es una plataforma para el desarrollo de aplicaciones de escritorio usando Java y a un Entorno integrado de desarrollo (IDE) desarrollado usando la Plataforma NetBeans. Si eres un programador y desarrollas tus aplicaciones en Java seguramente necesitarás conectar una base de datos tipo MySQL a este entorno algún día, bueno, si lo necesitas ahora, he aquí una explicación paso a paso de cómo conectar ambas herramientas.

4 extraordinarias aplicaciones espía para Android

Le andas haciendo al James Bond y necesitas grabar video, voz o tomar fotos desde tu dispositivo Android sin ser notado? Aquí 4 excelentes aplicaciones que facilitarán tus hazañas de 007 en menos de lo que canta un gallo.

c606 c6nf5g4r6 e3 tec3ad6 [Como configurar el teclado]

¿Problemas al escribir con el teclado? ¿Tratas de escribir la letra ‘o’ y sale el número ‘6’ o algo por el estilo? La solución puede ser más simple de lo que parece. La solución a tu problema tras el salto...

Conexión, consulta y ejecución de sentencias en MySQL con Java

Anteriormente escribí este mismo artículo pero para bases de datos en Oracle . En este artículo prácticamente me copio y pego para explicar paso a paso cómo realizar la conexión a MySQL en Java, así como la forma de realizar consultas a los registros existentes y ejecutar sentencias de inserción, borrado y actualización de datos. Al final del artículo tendremos una clase que encapsulará todos los procedimientos necesarios para trabajar con la base de datos.