Cómo funciona System.out.println() en tus programas de Java

| Última modificación: 26 de noviembre de 2024 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Existe un método en Java que te permite interactuar con la consola y ver lo que tu programa está haciendo. De hecho, con System.out.println() en Java es muy fácil que sigas el flujo de ejecución de tus programas y no importa si se trata de depuración, pruebas rápidas o simplemente para mostrar información al usuario. De verdad que su uso no es negociable al aprender a programar con Java y por eso aquí te explicaré todo sobre este comando.

System.out.println() en Java

¿Qué es System.out.println() en Java?

Para que logres comprender este comando, te diré que por lo general se usa para imprimir información en la consola. Además, te deja ver el resultado de las operaciones o el estado de las variables mientras ejecutas tu programa en Java.

He optado por desglosar cada parte que compone este comando para que logres asimilar mejor su propósito:

  • System: Es una clase final que forma parte del paquete java.lang. Esta clase contiene varios miembros útiles para interactuar con el sistema, como los flujos de entrada y salida estándar.
  • out: Es una instancia de la clase PrintStream, la cual está asociada con el flujo de salida estándar de tu sistema (es decir, la consola). Este objeto es público y está declarado como estático, por lo que puedes acceder a él sin crear una nueva instancia.
  • println(): Es un método de la clase PrintStream que permite imprimir cualquier dato en la consola. La diferencia clave con el método print() es que println() añade automáticamente un salto de línea al final de la salida. Esto significa que cada vez que se llama a System.out.println(), lo que se imprime aparece en una nueva línea, facilitando la lectura de la salida.

Sintaxis de System.out.println()

La sintaxis es bastante simple:

System.out.println(parámetro);

Donde dice parámetro puedes poner cadenas de texto, números, caracteres o cualquier otro tipo de dato que quieras imprimir en la consola.

Ejemplo básico

Imagina que tienes un código como este:

public class Ejemplo {
public static void main(String[] args) {
System.out.println("¡Hola, Mundo!");
}
}

Lo que imprimirá este código en la consola será esto:

¡Hola, Mundo!

Como ves, System.out.println() es útil para mostrar información al usuario o para comprobar el estado de tu programa.

Más sobre los tipos de datos que puedes imprimir

Ten presente que con System.out.println() puedes imprimir diferentes tipos de datos sin preocuparte por la conversión previa.

Como el método println() tiene varias sobrecargas (versiones) se pueden imprimir desde enteros hasta objetos complejos.

Ejemplo con enteros y texto

public class Ejemplo {
public static void main(String[] args) {
int edad = 25;
String nombre = "Carlos";
System.out.println("Mi nombre es " + nombre + " y tengo " + edad + " años.");
}
}

Salida:

Mi nombre es Carlos y tengo 25 años.

Ejemplo con números decimales

public class Ejemplo {
public static void main(String[] args) {
double precio = 19.99;
System.out.println("El precio del producto es: " + precio);
}
}

Salida:

El precio del producto es: 19.99

Diferencia entre System.out.print() y System.out.println()

Estos dos suelen usarse de manera intercambiable, pero sí tienen una gran diferencia:

  • System.out.print(): Imprime el dato en la consola, pero no mueve el cursor a una nueva línea. Esto significa que la siguiente salida continuará en la misma línea.
  • System.out.println(): Similar a print(), pero con la diferencia de que mueve el cursor a la siguiente línea después de imprimir el dato. Esto hace que las salidas sucesivas se muestren en líneas diferentes.

Así es cómo se comportan:

public class Ejemplo {
public static void main(String[] args) {
System.out.print("Hola ");
System.out.print("Mundo ");
System.out.println("Java");
System.out.println("Programación");
}
}

Salida:

Hola Mundo Java
Programación

En este caso, el uso de print() mantiene “Hola Mundo” en la misma línea, mientras que println() mueve a la siguiente línea para “Java” y “Programación”.

Ventajas y desventajas de System.out.println()

Ventajas

  • Fácil de usar: Es ideal para principiantes y para casos rápidos donde necesitas verificar el estado de tu programa.
  • Depuración: Es una herramienta fundamental para depurar código, ya que te permite imprimir el estado de las variables o el flujo de ejecución del programa.

Desventajas

  • Rendimiento: Debido a que System.out.println() involucra operaciones de entrada/salida, es relativamente lento en comparación con otras técnicas de impresión, especialmente cuando se usa en aplicaciones con un alto rendimiento o en entornos multihilo.
  • Sin control sobre el formato: Aunque es útil para simples salidas, no ofrece un control tan fino sobre el formato de salida como otras alternativas, como printf() o la clase Logger.

¿Qué alternativas a System.out.println() hay?

Aquí tienes otras formas de manejar la salida en Java que podrían ofrecerte mayor control o mejor rendimiento, como:

  • PrintWriter: Con este comando puedes escribir datos en diferentes formatos y es más rápido que System.out.println().
  • BufferedWriter: Te ofrece un buffer para mejorar la eficiencia en la escritura de datos.
  • Logger: Suele usarse para registrar mensajes con diferentes niveles de severidad (por ejemplo, INFO, ERROR), lo que es útil en aplicaciones más complejas.

Anímate a ingresar al Bootcamp de Java Full Stack de KeepCoding. En nuestro curso, aprenderás sobre todas las herramientas necesarias para convertirte en un desarrollador Full Stack, desde el manejo de bases de datos hasta la creación de aplicaciones web complejas.

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Java y Spring Boot

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado