La clase System proporciona un canal para leer texto -- el canal de entrada estandard. El programa de ejemplo de Tuercas y Tornillos del Lenguaje Java utiliza el canal del entrada estandard para contar los caracteres tecleados por el usuario.
Probablemente los puntos más utilizados de la clase System sean los canales de salida y de error estandard, que se utilizan para mostrarle texto al usuario.El canal de salida estandard se utiliza normalmente para las salidas de comandos, esto es, para mostrar el resultado de un comando del usuario. El canal de error estandard se utiliza para mostrar cualquier error que ocurra durante la ejecución del programa.
Tanto la salida estandard como el error estandard derivan de la clase PrintStream. Así, se utiliza uno de los tres métodos de PrintStream para imprimir el texto en el canal: print(), println(), y write().Los métodos print() y println() son esencialmente el mismo: los dos escriben su argumento String en el canal. La única diferencia entre estos dos métodos es que println() añade un carácter de nueva línea al final de la salida, y print() no lo hace. En otras palabras, esto
System.out.print("Duke no es un Pingüino!\n");es equivalente a estoSystem.out.println("Duke no es un Pingüino!");Observa el carácter extra \n en la llamada al primer método; es el carácter para nueva línea. println() añade automáticamente este carácter a su salida.El método write() es menos utilizado que los anteriores y se utiliza para escribir bytes en un canal. write() se utiliza para escribir datos que no sean ASCII.
Los métodos print() y println() toman un sólo argumento. Este argumento puede ser cualquiera de los siguientes tipos: Object, String, char[], int, long, float, double, y boolean. Además existe una versión extra de println() que no tiene argumentos que imprime una nueva línea en el canal.
El siguiente programa utiliza println() para sacar datos de varios tipos por el canal de salida estandard.class DataTypePrintTest { public static void main(String[] args) { Thread objectData = new Thread(); String stringData = "Java Mania"; char[] charArrayData = { 'a', 'b', 'c' }; int integerData = 4; long longData = Long.MIN_VALUE; float floatData = Float.MAX_VALUE; double doubleData = Math.PI; boolean booleanData = true; System.out.println(objectData); System.out.println(stringData); System.out.println(charArrayData); System.out.println(integerData); System.out.println(longData); System.out.println(floatData); System.out.println(doubleData); System.out.println(booleanData); } }El programa anterior tendría esta salida:Thread[Thread-4,5,main] Java Mania abc 4 -9223372036854775808 3.40282e+38 3.14159 trueObserva que se puede imprimir un objeto -- el primer println() imprime un objeto Thread y el segundo imprime un objeto String. Caundo se utilice print() o println() para imprimir un objeto, los datos impresos dependen del tipo del objeto. En el ejemplo, imprimir un String muestra el contenido de la cadena. Sin embargo, imprimir un Thread muestra una cadena con este formato:ThreadClass[nombre,prioridad,grupo]