Formación informática

Java | Joomla | MySQL

Curso de Java – Tema 23: impresión de mensajes por línea de comandos

codigo 3Para acceder a su definición oficial en la API de Java 8 tenemos que pulsar sobre este enlace.

¿Qué es y para qué se usa?

Son objetos que permiten mostrar mensajes de traza a través de la línea de comandos que nos sirven para comprobar que el resultado es el que esperado. Haciendo uso de la clase System y el método out existen varios métodos para mostrar mensajes a través de la línea de comandos.

Tipos de salida de datos

Salida estándar

Permite mostrar un texto literal escrito entre comillas dobles, el valor de una variable escribiendo su nombre o una combinación de ambas. A continuación, inserta un retorno de carro; por lo tanto, la siguiente línea se imprimirá en una línea nueva. La sintaxis genérica es:

System.out.println (“texto”);
System.out.println (nombre_variable);
System.out.println (expresión);

Para encadenar texto tenemos que hacer uso del signo más. Si queremos introducir un espacio vacío, tenemos que escribir “ “,es decir, introducir un espacio entre las comillas para crear la cadena vacía. En estos casos se pueden encadenar tantas variables cómo sea necesario. Tan solo hay que tener cuidado durante la introducción para no olvidarse de algunas comillas. Cuando se usan expresiones, habrá que introducirlas entre paréntesis para indicar a Java que es una expresión.

System.out.println (“texto” + variable);
System.out.println (“texto” + (expresión));
El ejemplo más típico y tópico para aprender a programar es mostrar el texto ¡Hola mundo a través de la línea de comandos:
public class holaMundo {
     public static void main(String[] args) {
         System.out.println("Hola mundo”);
    }
}

Dando formato a los datos

Este problema se nos plantea cuando queremos mostrar una variable de tipo float o double con un número determinado de decimales y no con los que por defecto muestra Java. Se encuentra disponible a partir de la versión 5 y es equivalente a aplicar los métodos format. La sintaxis genérica es un poco compleja al principio pero en cuanto se usa unas cuantas veces es más sencillo. Tiene dos parámetros:

  • El primero son los especificadores de formato, siendo los elementos entre corchetes opcionales:
%[posición_dato$][indicador_de_formato][ancho][.precision]carácter_de_conversión
  • posición_dato indica la posición del dato sobre el que se va aplicar el formato. El primero por la izquierda ocupa la posición 1.
  • indicador_de_formato es el conjunto de caracteres que determina el formato de salida. Los indicadores de formato de printf en Java son los de esta tabla:

Indicador

Función

-

Alineación a la izquerda

+

Mostrar signo + en números positivos

(

Los número negativos se muestran entre paréntesis

,

Muestra el separador decimal

0

Rellena con ceros

  • ancho indica el tamaño mínimo, medido en número de caracteres, que debe ocupar el dato en pantalla.
  • .precision indica el número de decimales que serán representados. Solo es aplicable a datos de tipo float o double.
  • carácter_de_conversión es el carácter que indica cómo tiene que ser formateado el dato. Los más utilizados se muestran en la tabla siguiente:

Carácter

Función

d

Número entero en base decimal.

X, x

Número entero en base hexadecimal.

f

Número real con punto fijo.

S

String en mayúscula.

s

String.

E, e

Número real con notación científica

g

Número real. Si el número es muy grande de representará como E, e

C, c

Carácter Unicode. C: en mayúsculas.

  • El segundo parámetro es el número o variable que se quiere formatear.
System.out.printf("%s.nt %n", variable_a_formatear);

Un ejemplo de uso es el siguiente código mediante el cual se formatea se formatea un número de tipo float para redondear a dos decimales e insertar un retorno de carro. En este caso el resultado es 13,70:

System.out.printf("%.2f %n", 13.69698);

Un ejemplo completo con distintos usos de printf en Java:

public static void main(String[] args) {
     double q = 1.0/4.0;
     System.out.printf ("1.0/3.0 = %5.3f %n", q);
     System.out.printf ("1.0/3.0 = %7.5f %n", q);
     q = 1.0/2.0;
     System.out.printf ("1.0/2.0 = %09.3f %n", q);
     q = 1000.0/3.0;
     System.out.printf ("1000/3.0 = %7.1e h%n", q);
     q = 3.0/4567.0;
     System.out.printf ("3.0/4567.0 = %7.3e %n", q);
     q = -1.0/0.0;
     System.out.printf ("-1.0/0.0 = %7.2e %n", q);
     q = 0.0/0.0;
     System.out.printf ("0.0/0.0 = %5.2e %n", q);
     System.out.printf ("pi = %5.3f, e = %10.4f %n", Math.PI, Math.E);
     double r = 1.1;
     System.out.printf
            ("C = 2 * %1$5.5f * %2$4.1f, "+"A = %2$4.1f * %2$4.1f * %1$5.5f %n",Math.PI, r);
}

Obteniendo como salida:

1.0/3.0 = 0,333
1.0/3.0 = 0,33333
1.0/2.0 = 00000,500
1000/3.0 = 3,3e+02 h
3.0/4567.0 = 6,569e-04
-1.0/0.0 = -Infinity
0.0/0.0 = NaN
pi = 3,142, e = 2,7183
C = 2 * 3,14159 * 1,1, A = 1,1 * 1,1 * 3,14159

Salida sin retorno de carro

Este método del objeto System.in es equivalente al println con la diferencia fundamental que la no inserta un retorno de carro tras la ejecución. La sintaxis genérica es:

System.out.print (“texto” + variable);
Curso de Java – Tema 22: clase Math <- | -> Curso de Java – Tema 24: clase DecimalFormat
Curso de Java - Índice ejercicios nivel básico

Escribir un comentario

Aunque los comentarios no expresan la opinión del administrador del sitio web, éste si que tiene una responsabilidad legal sobre lo que aparece. Por lo tanto, habrá una labor de moderación de los mensajes. No se permitirán mensajes ofensivos ni publicidad


Código de seguridad
Refescar

Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real Decreto-Ley 13/2012, de 30 de marzo. Si continúa navegando consideramos que acepta el uso de cookies. . Más información