Ir al contenido
wannacode

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:

Main.java
public class Main {
public static void main(String[] args) {
System.out.println("¡Bienvenido!");
System.out.println("Este es tu primer programa.");
}
}
Salida
¡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.println no es lo mismo que System.out.println, y el programa no compilará.
  • El archivo se llama como la clase: public class Main está en un archivo llamado Main.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");
Salida
Pedido n.º 1024 está confirmado.
Envío: mañana

Las 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
  1. print imprime «Pedido » y el cursor se queda en la misma línea.
  2. print imprime «n.º 1024» y el cursor se queda en la misma línea.
  3. println imprime « está confirmado.» y el cursor pasa a una línea nueva.
  4. println imprime «Envío: mañana» y el cursor pasa a una línea nueva.
  5. 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();
Respuesta

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 cruasanes
Salida
Café 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 almuerzo
Respuesta

Problema

El programa no arranca

Has escrito el programa, lo ejecutas y ni siquiera empieza. En lugar de la salida recibes un mensaje:

Main.java
public class Main {
public static void main(String[] args) {
System.out.println("¡Bienvenido al curso!")
System.out.println("Empezamos.");
}
}
Mensaje del compilador
Main.java:3: error: ';' expected
System.out.println("¡Bienvenido al curso!")
^
1 error

Antes 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.

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:

Salida
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.

Salida de ejemplo
María López
desarrolladora web
maria@example.com

3. Marco. Imprime el menú de hoy del comedor dentro de un marco de asteriscos. Cuida los espacios para que el lado derecho salga recto.

Salida
*************
* Hoy: sopa *
* 5,40 € *
*************

Más tareas

  • Una frase en tres partes. Con tres órdenes print y una println, 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

1. ¿Dónde empieza a ejecutarse el programa?
2. ¿Qué diferencia hay entre print y println?
3. ¿Qué hace la computadora con un comentario?
4. El compilador dice que falta un ; en la línea 3. ¿Qué significa?
5. ¿Cuál compilará?

Creado por Ivo Gergov como parte de la campaña de Evo Tech por una educación accesible en programación ·