Documente Academic
Documente Profesional
Documente Cultură
Para dar formato a la salida se utiliza printf. Java tom prestada (y ampli) esta caracterstica del lenguaje C. El mtodo printf puede realizar: Redondeo de valores de punto flotante a un nmero indicado de decimales. Alinear una columna de nmeros con sus puntos decimales apareciendo uno sobre otro Justificacin de texto a la derecha y a la izquierda. Insertar caracteres en lugares precisos de una lnea de salida. Representar nmeros de punto flotante en forma exponencial. Mostrar todos los tipos de dato con amplitudes y precisiones predefinidas. Mostrar fechas y horas en distintos formatos.
Cada llamada a printf debe proporcionar como primer argumento una cadena de formato que describe el formato de la salida. La cadena de formato puede consistir en texto fijo y especificadores de formato. El texto fijo es mostrado por printf tal como lo hara por los mtodos print o println de System.out. Cada especificador de formato es un marcador de posicin para un valor y especifica el tipo de dato de la salida. Tambin pueden incluir informacin de formato opcional. En la forma ms simple, cada especificador de formato comienza con un signo de porciento (%) y es seguido por un carcter de conversin que representa el tipo de dato del valor que se mostrar. Por ejemplo, el especificador de formato %s es un marcador de posicin para una String, y el especificador de formato %d es un marcador de posicin para un valor int. La informacin de formato opcional, se especifica entre el signo de porciento y el carcter de conversin.
Imprimiendo enteros
La siguiente tabla muestra los caracteres de conversin entera. Y el cdigo usa cada uno para imprimir un entero. En las lneas 9-10, el signo de ms (+) no se muestra por defecto, pero el signo de menos (-) s. Carcter de conversin d o x, X Descripcin Muestra un entero decimal (base 10) Muestra un entero octal (base 8) Muestra un entero hexadecimal (base 16), X para letras maysculas
Salida: 26 26 -26 32 1a 1A El mtodo printf tiene la forma: printf(cadena de formato, lista de argumentos); donde cadena de formato describe el formato de la salida, y la lista de argumentos opcional contiene los valores que corresponden a cada especificador de formato en cadena de formato. Puede haber varios especificadores de formato en una cadena de formato. Cada cadena de formato en las lneas 8-10 especifica que printf debe imprimir como salida un entero decimal (%d) seguido de un carcter de salto de lnea. En la posicin del especificador de formato, printf sustituye el primer argumento despus de la cadena de formato. Si la cadena de formato contiene mltiples especificadores de formato, en cada subsecuente posicin de un especificador de formato printf sustituir el valor del siguiente argumento en la lista de argumentos. El especificador de formato %o de la lnea 11 muestra el entero en formato octal. El especificador de formato %x de la lnea 12 muestra el entero en formato hexadecimal. El especificador de formato %X de la lnea 13 muestra el entero en formato hexadecimal con letras maysculas.
Los caracteres de conversin e y E muestran los valores de punto flotante en notacin cientfica computarizada (tambin llamada notacin exponencial). La notacin exponencial es el equivalente computacional a la notacin cientfica usada en matemticas. Por ejemplo, el valor 140.4582 es representado en notacin cientfica como 1.504582 x 102 y es representado en notacin exponencial como 1.504582e+02 en Java. Esta notacin indica que ese 1.504582 ser multiplicado por 10 elevado a la segunda potencia (e+02). Donde e significa exponente. Los valores impresos con los caracteres de conversin e, E y f son mostrados por defecto con seis dgitos de precisin a la derecha del punto decimal (por ejemplo, 1.045921), otras precisiones deben ser especificadas explcitamente. El carcter de conversin f siempre imprime al menos un dgito a la izquierda del punto decimal. Los caracteres de conversin e y E imprimen la letra minscula e y la mayscula E precediendo al exponente y siempre imprimen exactamente un dgito a la izquierda del punto decimal. Ocurre redondeo si el valor a mostrar tiene ms dgitos significativos que la precisin especificada.
utilizan los caracteres de conversin C y S, la salida se muestra en letras maysculas. En el siguiente cdigo se muestran caracteres, cadenas y objetos con los caracteres de conversin c y s. En la lnea 9 ocurre autoboxing cuando una constante int es asignada a un objeto Integer. La lnea 15 muestra un argumento Integer con el carcter de conversin s, e implcitamente se invoca el mtodo toString del objeto para obtener su valor entero. Tambin se puede mostrar un objeto Integer usando el especificador de formato %d. En este caso, el valor int contenido en el objeto Integer ser sacado (unboxed) y mostrado. Nota: Usar %c para imprimir Strings causa una IllegalFormatConversionException, una String no puede ser convertida a un carcter.
Salida: A Esto es una cadena Esta tambien es una cadena ESTA TAMBIEN ES UNA CADENA 1234
Salida: 1 12 123 1234 12345 -1 -12 -123 -1234 -12345 El mtodo printf tambin tiene la capacidad de especificar la precisin con la cual los datos sern impresos. La precisin tiene diferentes significados para diferentes tipos. Cuando se usa con los caracteres de conversin e y f, la precisin es el nmero de dgitos que aparecen despus del punto decimal. Cuando se usa con el carcter de conversin s, la precisin es el mximo nmero de caracteres que sern escritos de la cadena. Para usar la precisin, coloca entre el signo de porciento y el especificador de conversin un punto decimal (.) seguido de un entero que representa la precisin. El siguiente cdigo demuestra el uso de la precisin. Cuando un valor de punto flotante se imprime con una precisin ms pequea que el nmero original de lugares decimales en el valor, ste se redondea. La amplitud de campo y la precisin se pueden combinar colocando la amplitud de campo seguida por un punto decimal, seguido por la precisin entre el signo de porciento y el carcter de conversin, como en la sentencia printf(%9.3f, 123.456789); la cual muestra 123.457 con tres dgitos a la derecha del punto decimal justificado en un campo de 9 dgitos, este nmero ser precedido por dos espacios en blanco.
Usando precisin para nmeros de punto flotante 123.945 1.239e+02 124 Using precision for strings Hola mund