Impresión de mensajes“Hola Mundo” es el clásico ejemplo de aprendizaje cuando inicias a programar en cualquier lenguaje. Tu ya lo hiciste al instalar Netbeans ¿lo recuerdas?
System.
out.
println(“Hola Mundo”
);
System.out.println() y System.out.print()System.out.println() es el método utilizado para imprimir en java, no es tan simple como en otros lenguajes, pero cumple la misma función. Al utilizar esta sentencia le dices a Java que imprima un mensaje en consola, el mensaje que quieres imprimir tienes que ponerlo dentro de los paréntesis y entre comillas dobles, como, por ejemplo:
public static void main
(String[] args
) { System.
out.
println("Este es un mensaje..."); }
(Recuerda poner tu código dentro del método main y además finalizar la sentencia con un “;”).Al ejecutar nuestro código
(si no sabes cómo hacerlo ve el tutorial: Instalación de herramientas para programar en Java, o directamente presiona la tecla F6) veras algo como esto:
run:
Este es un mensaje...
BUILD SUCCESSFUL (total time: 1 second)
(
run: y
BUILD SUCCESSFUL (total time: 1 second) son mensajes que agrega Netbeans, no te preocupes que cuando un usuario ejecute tu programa desde la consola de comandos no aparecerán estos mensajes).
Si modificamos nuestro código y agregamos otra línea abajo la anterior imprimiendo otro mensaje con el texto “Este es otro mensaje…” tendrás algo como esto:
public static void main
(String[] args
) { System.
out.
println("Este es un mensaje..."); System.
out.
println("Este es otro mensaje..."); }
Te podrás dar cuenta que al compilar y ejecutar tu código se imprimirán dos mensajes uno bajo al otro:
Este es un mensaje...
Este es otro mensaje...
Esto sucede porque System.out.println() tiene por default un salto de línea al finalizar la impresión, entonces el mensaje realmente es algo así:
Este es un mensaje...[ENTER]
Este es otro mensaje...[ENTER]
Si lo que quieres es imprimir en la misma línea tendrías que utilizar
System.out.print() (sin ln) y de esta forma el siguiente mensaje no aparecerá en otra línea, por ejemplo, remplazare el código anterior por el siguiente:
System.
out.
print("Este mensaje va primero"); System.
out.
println("Este mensaje va segundo"); System.
out.
println("Este mensaje va tercero");
(Recuerda que este código está dentro del método main, el cual de aquí en adelante omitiré escribir)El resultado será algo como esto:
Este mensaje va primeroEste mensaje va segundo
Este mensaje va tercero
Que si nos fijamos más bien es algo como esto:
Este mensaje va primeroEste mensaje va segundo[ENTER]
Este mensaje va tercero[ENTER]
Si te das cuenta el primer y segundo mensaje están pegados, si lo que quieres es separarlos con un espacio entre medio, simplemente añades el espacio al final del primer mensaje o al inicio del segundo:
System.
out.
print("Este mensaje va primero "); System.
out.
println("Este mensaje va segundo");
Resultado:
Este mensaje va primero Este mensaje va segundo
Caracteres especialesAhora intenta tu imprimir lo siguiente:
Las comillas dobles son así “
Te quedara algo como esto:
System.
out.
println("Las comillas dobles son asi "");
Y Netbeans te indicara que es un error, porque no puedes escribir comillas dobles dentro de un mensaje que utiliza como delimitador del mismo las comillas dobles.
Para estos casos existen los
caracteres especiales. La forma de arreglar tu problema es añadiendo un
backslash “\” justo antes de la comilla doble:
System.
out.
println("Las comillas dobles son asi \"");
Al hacer esto el mensaje se imprimirá de la siguiente forma:
Las comillas dobles son asi "
Entonces ahora tenemos otro problema, que pasaría si quisiéramos añadir el baskslash en el mensaje, para imprimir lo siguiente: Las comillas dobles son así \”
Muy simple solo tienes que añadir dos backslash justo antes del primero:
System.
out.
println("Las comillas dobles son asi \\\"");
El resultado es:
Las comillas dobles son asi \"
Supongo que ya te das cuenta del patrón, el backshash es lo que se llama un
carácter de escape, nos permite escribir caracteres que normalmente no podríamos escribir. El carácter que normalmente no podríamos escribir se pondría justo después del backslash, por tanto, si queremos escribir una “ ponemos \” o si queremos escribir un \ ponemos \\.
Existen más caracteres especiales, aquí una lista:
\b | Retroceso | Utilizado para borrar el ultimo carácter |
\t | Tabulador | Utilizado para tabular |
\r | Retorno de carro | Utilizado para volver al inicio de la línea (todo lo que escribas después de esto sobre-escribirá lo anterior) |
\n | Nueva línea | Utilizado para hacer un salto de línea (igual al que incluye por defecto println al finalizar el mensaje) |
\' | Comilla simple | Utilizado para imprimir una comilla simple |
\" | Comilla doble | Utilizado para imprimir una comilla doble |
\\ | Barra invertida | Utilizado para imprimir una barra invertida |
Un uso muy útil para este tipo de caracteres seria por ejemplo para imprimir el siguiente mensaje solo con un System.out.print():
Primera línea
Segunda línea
Tercera línea
El código seria el siguiente:
System.
out.
print("Primera línea\nSegunda línea\nTercera línea");
Llegaremos hasta aquí por ahora, aunque retomaremos la impresión de mensajes en un par de tutoriales más ya que un nos queda una cosa por ver, la
concatenación.
En los recursos asociados a este tutorial encontraras ejercicios relacionados con este tutorial además de sus soluciones propuestas. Recuerda que existen mil formas de realizar un mismo algoritmo así que no te asustes si tu solución no es exactamente igual a la mía.
(Las soluciones propuestas estarán en un documento .java solo ábrelo con un bloc de notas o con tu Netbeans para verlos, puedes copiar y pegar el código para probar cada solución {las cuales estarán separadas por guiones bajos}).Esto se hará así hasta que sepas un poco más de métodos y de esta forma facilitar todo en un único proyecto.RECURSOS ASOCIADOS A ESTE TUTORIAL:- Video Tutorial – Impresión de mensajes
- Tutorial descargable .DOCX
- Ejercicios propuestos .TXT
- Soluciones a ejercicios propuestos .CLASS
RECURSOS COMPLEMENTARIOS:No existen recursos complementarios para este artículo.