Skip to content

Clase System en java

Cuando hablamos de la clase system en java, nos estamos refiriendo a la consola del sistema. Ya hemos hablado que para java todo es considerado un objeto.

Por otra parte, también hemos hablado que cuando hablamos de objetos en java, éstos tiene características y propiedades.

Además, lo primero que se debe saber, es que la clase system en java, pertenece al paquete por defecto de la API de java, es decir al paquete java.lang.

System, como cualquier clase de java, contiene una serie de atributos o características y de métodos, es decir, que esta clase system tiene unos comportamientos que nos indican lo que puede hacer en realidad.

Índice de contenidos

    Las características de la clase system.

    Cuando hablamos de las características de una clase, nos estamos refiriendo a que contiene una serie de atributos (o variables). Entre los atributos o variables más destacados, podemos diferenciar dos.

    Un campo de clase llamado out.

    Este campo de clase es un campo estático, es decir, para acceder a él, debemos anteponer antes del campo la clase que la contiene, en este caso system.

    Este campo de clase o atributo, se refiere a «sacar por pantalla». Además el atributo out, puede invocar diferentes métodos, entre ellos el método print() o println().

    Por este motivo, utilizaremos la instrucción System.Out.print(); o la instrucción System.Out.println(); que sirven para poder imprimir mensajes por consola en java. Lo que hace esta instrucción es lo siguiente:

    El atributo out, perteneciente al sistema (System), imprime lo que hay entre los paréntesis del método print(); o println().

    Diferencia entre los métodos print() y println().

    Acabamos de decir que para imprimir un mensaje por consola, necesitamos o bien el método print() o bien el método println(), pero, ¿qué diferencia existe entre uno y otro?

    El método print(), lo que hará será sacar un mensaje en la consola del sistema, pero una vez se haya impreso el mensaje, el cursor quedará al final de la palabra o frase que se haya mostrado.

    Por el contrario, el método println(), hará exactamente lo mismo, imprimirá la palabra o frase que deseemos, sin embargo, una vez impreso el mensaje, este método realizará un salto, dejando el cursor en la siguiente linea.

    Uso del método print().

    En este caso se muestra una frase por consola, dejando el cursor justo al final de la frase.

    package ejerciciosSystemOutPrint;
    public class ClasePrincipal {
    	public static void main(String[] args) {
    	
    		// Mostramos un mensaje sin salto de linea
    	    System.out.print("Mensaje sin salto de linea");      		
    	}
    }
    

    Uso del método println().

    En este otro caso, se muestran dos frases. Al usar este método, se mostrará cada frase en una linea y el cursor dará un salto pasando a la tercera línea.

    package ejerciciosSystemOutPrint;
    public class ClasePrincipal {
    	public static void main(String[] args) {
    	
    		 // Mensaje en dos líneas con el método print
    		System.out.println("Primera linea");
                    System.out.println("Segunda linea");
    	}
    }
    

    Para finalizar con este apartado, vamos a ver una peculiaridad que nos puede aparecer en ciertas ocasiones. En este caso, veremos una pequeña excepción, si lo queremos llamar así, en la que podemos crear saltos de linea también con el método print().

    En este caso para crear un salto de linea con el método print(), lo haremos a través de un caracter de escape incluyendo «\n» al final de la frase.

    El caracter de escape \n.

    Con este caracter, podemos crear saltos de linea usando el método print() en lugar del metódo println() que es el que se utiliza de forma general. Vamos a ver un ejemplo de su aplicación.

    package ejerciciosSystemOutPrint;
    public class ClasePrincipal {
    	public static void main(String[] args) {
    	
    		 // Mensaje en dos líneas con el método print
    		System.out.print("Primera linea\nSegunda linea");
    	}
    }
    

    En este caso, el caracter de escape \n, se coloca justo a continuación de la primera frase y sin ningún espacio. Como podemos ver en el ejemplo, tampoco se colocará ningún espacio a continuación del \n.

    Si por casualidad, hubiéramos dejado un espacio bien antes o después del caracter de escape \n, se mostraría un espacio o bien al final de la primera frase o bien al principio de la siguiente.

    Un campo de clase llamado in.

    Este campo de clase es también un campo estático, es decir, para acceder a él, también debemos anteponer la clase que la contiene, en este caso system.

    Este campo de clase o atributo, se refiere a «introducir en consola». Este atributo, lo utilizaremos para leer datos que un usuario introduce por teclado en la consola. Por este motivo, utilizaremos la instrucción System.in. Esto lo veremos en el siguiente artículo.

    Preguntas frecuentes (FAQs).

    Conceptos básicos a todos los lenguajes de progamación
    ¿Qué es la clase System en Java?
    La clase System en Java es parte de java.lang y se usa para manejar la entrada y salida estándar, entre otras funcionalidades.
    ¿Para qué se usa System.out.println()?
    System.out.println() se utiliza para imprimir texto en la consola, añadiendo un salto de línea al final.
    ¿Cuál es la diferencia entre print() y println()?
    print() imprime sin salto de línea, mientras println() imprime y salta a la línea siguiente.
    ¿Qué es el atributo out en System?
    El atributo out es un campo de la clase System que permite realizar operaciones de salida estándar en la consola.
    ¿Qué es el atributo in en System?
    El atributo in permite capturar la entrada de datos del usuario desde la consola, usando System.in.
    ¿Qué es el carácter de escape «\n» en Java?
    «\n» es un carácter de escape que genera un salto de línea, útil en System.out.print() para simular println().
    ¿Cómo se puede leer datos de la consola en Java?
    Usando System.in con la clase Scanner, se puede leer datos introducidos por el usuario en la consola.
    ¿Cómo imprimir múltiples líneas en Java?
    Se pueden usar println() en varias llamadas o combinar print() con «\n» para saltos de línea.
    ¿Es System una clase instanciable?
    No, System es una clase final con métodos y campos estáticos, no se puede instanciar.
    ¿Para qué se usa System.gc() en Java?
    System.gc() sugiere al JVM iniciar la recolección de basura, optimizando el uso de memoria.
    Configuración