Tu primer programa
En resumen: Un programa es una serie de órdenes que se ejecutan de arriba abajo: en Java empieza en main, System.out.println imprime texto y // empieza un comentario.
Problema
La computadora hace exactamente lo que dice
La computadora no adivina lo que quieres. Ejecuta órdenes, una tras otra, exactamente como están escritas. Una secuencia de órdenes así es un programa.
Aquí tienes un programa entero. Imprime dos líneas en la pantalla:
public class Main { public static void main(String[] args) { System.out.println("¡Bienvenido!"); System.out.println("Este es tu primer programa."); }}¡Bienvenido!Este es tu primer programa.Parece mucho código para dos líneas de texto. La mayor parte es un envoltorio que escribes en todos los programas. Tus órdenes son solo las dos líneas del medio.
La idea
Qué hay en el programa
public static void main(String[] args)es el lugar donde empieza el programa. Lo llamamos main. La computadora ejecuta sus líneas de arriba abajo.System.out.println(...)imprime el texto que está entre los paréntesis y pasa a una línea nueva.- El texto va entre comillas dobles:
"¡Bienvenido!". Las comillas no se imprimen. - Cada orden termina en
;. - Las llaves
{y}agrupan las líneas que van juntas.
public class Main es el envoltorio de todo programa. Qué significa lo verás en el módulo «Clases y objetos». Por ahora lo copias y escribes tu código dentro de main. Más adelante, en las lecciones, mostramos solo las líneas de main.
Más precisamente, para curiosos
- Las mayúsculas y las minúsculas importan.
system.out.printlnno es lo mismo queSystem.out.println, y el programa no compilará.
- El archivo se llama como la clase:
public class Mainestá en un archivo llamadoMain.java. - A partir de Java 25, un programa pequeño también se puede escribir de forma más corta, sin la clase. Aquí escribimos la forma completa, porque funciona con cualquier versión y porque así la verás en el código de otras personas.
La idea
Imprimir con y sin salto de línea
A veces quieres varios trozos de texto en una misma línea. Para eso hay una segunda orden: System.out.print. Imprime el texto y se queda en la misma línea.
System.out.print("Pedido ");System.out.print("n.º 1024");System.out.println(" está confirmado.");System.out.println("Envío: mañana");Pedido n.º 1024 está confirmado.Envío: mañanaLas dos primeras líneas del código usan print, por eso «Pedido», «n.º 1024» y «está confirmado.» salen juntos. Después de println el texto siguiente empieza en una línea nueva.
Fíjate en los espacios. Están dentro de las comillas, porque la computadora no pone un espacio por su cuenta.
Sigue el cursor: el texto sale siempre donde está él.
System.out.print("Pedido ");System.out.print("n.º 1024");System.out.println(" está confirmado.");System.out.println("Envío: mañana");Paso a paso, en palabras
- print imprime «Pedido » y el cursor se queda en la misma línea.
- print imprime «n.º 1024» y el cursor se queda en la misma línea.
- println imprime « está confirmado.» y el cursor pasa a una línea nueva.
- println imprime «Envío: mañana» y el cursor pasa a una línea nueva.
- Los espacios están dentro de las comillas: la computadora no pone un espacio por su cuenta.
Pruébalo
¿En cuántas líneas?
¿Qué imprimirá el programa?
System.out.print("Tren ");System.out.println("8:15");System.out.print("Andén ");System.out.print("3");System.out.println();Después de «8:15» hay println, por eso «Andén» está en una línea nueva. La última línea, System.out.println();, no imprime texto. Solo pasa a una línea nueva.
La idea
Comentarios: notas para las personas
A veces quieres dejar una nota en el código: por qué está así o qué viene después. La escribes como un comentario. La computadora se salta los comentarios.
//empieza un comentario que llega hasta el final de la línea./*y*/rodean un comentario de varias líneas.
/* El recibo de la cafetería. Los precios están en euros. */System.out.println("Café 2,50 €");// System.out.println("Cruasán 1,80 €");System.out.println("Total 2,50 €"); // no quedan cruasanesCafé 2,50 €Total 2,50 €La línea del cruasán es código, pero está detrás de //, así que no se ejecuta. Así desactivas una línea por un tiempo sin borrarla.
Un buen comentario dice por qué, no qué. El propio código muestra lo que hace.
Pruébalo
¿Qué saldrá?
¿Qué imprimirá el programa?
System.out.println("9:00 Matemáticas");// System.out.println("10:00 Física");System.out.println("11:00 Historia"); // luego, el almuerzoLa segunda línea entera es un comentario, por eso «Física» no se imprime. En la tercera línea el comentario empieza después de `;`: la orden se ejecuta y la nota que va detrás de // se salta.
Problema
El programa no arranca
Has escrito el programa, lo ejecutas y ni siquiera empieza. En lugar de la salida recibes un mensaje:
public class Main { public static void main(String[] args) { System.out.println("¡Bienvenido al curso!") System.out.println("Empezamos."); }}Main.java:3: error: ';' expected System.out.println("¡Bienvenido al curso!") ^1 errorAntes de ejecutarse, el programa pasa por el compilador. El compilador traduce el código para la computadora y comprueba que esté escrito según las reglas. Si no lo está, se detiene y no ejecuta nada. Esto se llama error de compilación (compile error).
La idea
Cómo leer el mensaje
El mensaje te dice tres cosas: el archivo, la línea y qué está mal.
Main.java:3 significa el archivo Main.java, línea 3. ';' expected significa «esperaba un ;». El ^ debajo del código señala el lugar donde el compilador notó el problema.
Los errores más comunes al principio:
- falta un
;al final de una orden; - una comilla o un paréntesis se abre, pero no se cierra;
- una minúscula en lugar de una mayúscula:
system.out.println.
Corrige primero el primer error de la lista. Una sola comilla que falta puede confundir al compilador y mostrar varios errores más abajo, que desaparecen junto con ella.
Más precisamente, para curiosos
- El compilador te dice dónde notó el problema. A veces el error está un poco más arriba: si olvidaste cerrar una
}, se entera solo al final del archivo. - También hay errores que nadie detecta: el programa arranca, pero hace otra cosa distinta de la que quieres. Los cazaremos en casi todas las lecciones.
Pruébalo
Encuentra el error
El programa debe imprimir el horario del examen. No compila. ¿En qué línea está el error?
Elige la línea con el error.
); como parte del texto y no encuentra el final de la orden. La corrección es System.out.println("Aula: 204");.Ejercicio
Tus primeros programas
Resuelve las tareas en tu editor. Cada una es un programa aparte. Compara tu salida con la del ejemplo, carácter por carácter.
1. Hello World. El primer programa tradicional. Imprime:
Hello, World!2. Tarjeta de visita. Imprime una tarjeta de visita de tres líneas: nombre, profesión y correo electrónico. Puedes usar los tuyos.
María Lópezdesarrolladora webmaria@example.com3. Marco. Imprime el menú de hoy del comedor dentro de un marco de asteriscos. Cuida los espacios para que el lado derecho salga recto.
************** Hoy: sopa ** 5,40 € **************Más tareas
- Una frase en tres partes. Con tres órdenes
printy unaprintln, imprime en una sola línea «La tienda abre de 9:00 a 19:00.» - Un horario con un comentario. Imprime un horario de cuatro clases. Después desactiva la tercera línea con
//, sin borrarla, y añade un comentario que diga por qué.
- Un error a propósito. Quita el
;de una línea de la tarea 1 y luego quita también una comilla. Lee lo que dice el compilador cada vez.
Test
Ponte a prueba
Lecciones relacionadas
Sección «Lecciones relacionadas»- Continúa en: Variables y tipos · Entrada y salida · Operadores y aritmética · Condiciones
- Ejercicios sobre el tema: Fundamentos del lenguaje