Compilación en Java
Compilas un archivo didáctico pequeño y ejecutas el archivo de clase que produce. En Build.java mantén la clase pública Build, imprime ok en la primera demo, luego ok y built en la segunda demo después de cambiar el archivo y compilar otra vez. Ejecuta javac Build.java para que Build.class aparezca junto al fuente. Ejecuta java Build — no java Build.java. Deja Mini Project para la página siguiente. Esta lección es el hábito de compilar y ejecutar con un archivo .class visible, no una llamada nueva a la biblioteca y no un cierre del curso.
Compila una vez, luego ejecuta la clase
Abre Build.java. Mantén el nombre de clase pública Build. Borra demos sobrantes de Summary Recap, tiradas Random sobrantes de Dice, impresiones de fecha sobrantes de Stamp y cualquier Scanner de teclado que espere entrada. El programa no debe esperar input.
Dentro de Build.main imprime una palabra corta:
System.out.println("ok");
Desde la carpeta que contiene Build.java ejecuta javac Build.java. Cuando las llaves y los punto y coma coinciden, javac no escribe una línea propia. Escribe Build.class junto al fuente. Ese archivo .class es lo que carga el lanzador de Java.
Luego ejecuta java Build. Deja fuera la terminación .java del comando de ejecución. Mantén una clase pública para que el nombre coincida con Build. La pantalla muestra ok.
public class Build {
public static void main(String[] args) {
System.out.println("ok");
}
}
Recorre la ejecución una vez. javac lee Build.java y escribe Build.class. java Build carga Build.class, empieza en Build.main e imprime ok. Nada construye new Random(42). Nada imprime ready 42 de Recap. Nada congela un día del calendario.
Di la regla de principiante mientras miras la carpeta: el fuente termina en .java, el bytecode en .class, compila con javac, ejecuta con java y el nombre de clase. No inventes Mini Project en esta página. Mini Project espera la lección siguiente. No escribas java Build.java — esa forma de ejecución es incorrecta en esta ruta del curso.
Si aún ves ready 42 de un archivo Recap sobrante, pasa a Build.java y ejecuta java Build después de javac Build.java. Si javac reporta un error, corrige el fuente y compila de nuevo antes de ejecutar. Si la ejecución dice que no encuentra o carga la clase principal Build, confirma que estás en la carpeta con Build.class y que compilaste con éxito.
Cambia el fuente, compila otra vez
La primera demo demuestra una compilación exitosa. La segunda demuestra que las ediciones necesitan un javac nuevo antes de que cambie la pantalla. Mantén la misma clase pública Build. Imprime dos líneas:
System.out.println("ok");
System.out.println("built");
Guarda el archivo. Ejecuta javac Build.java otra vez para reescribir Build.class. Luego ejecuta java Build. La pantalla muestra ok, luego built.
Si cambias el fuente y saltas javac, java Build puede seguir mostrando solo ok del archivo .class antiguo. Esa pantalla obsoleta es lección de compilación, no de Random. Compila después de cada edición que conserves en esta página.
public class Build {
public static void main(String[] args) {
System.out.println("ok");
System.out.println("built");
}
}
Compila con javac Build.java y ejecuta java Build otra vez. Recorre la ejecución una vez. El archivo .class nuevo contiene ambas líneas de impresión. La primera escribe ok. La segunda escribe built. Nada espera el teclado. Nada guarda una semilla. Nada une ready y 42.
Mantén las dos demos como dos formas didácticas. Primero demuestra una línea tras una compilación limpia. Luego demuestra dos líneas tras recompilar. Ambas formas comparten el mismo nombre de clase y los mismos comandos. La segunda forma solo añade otro println.
Si borras Build.class y ejecutas java Build sin compilar, el lanzador falla porque falta el bytecode. Compila de nuevo para restaurar Build.class. Si dos clases públicas comparten un archivo, javac se queja — mantén solo Build como pública en el archivo didáctico.
javac frente a java
Estos dos comandos se parecen y hacen trabajos distintos. Mantenlos separados mientras practicas.
📊 Hábitos de compilar y ejecutar con Build
| Comando | Trabajo | Comprobación de principiante |
|---|---|---|
javac Build.java |
lee el fuente, escribe Build.class |
el éxito suele ser silencioso; busca el archivo .class |
java Build |
carga Build.class e inicia main |
sin terminación .java en este comando |
java Build.java |
forma incorrecta para esta lección | corrige el comando; no lo trates como ejecución didáctica |
Saltar javac tras una edición |
el bytecode viejo puede seguir ejecutándose | pantalla obsoleta significa compilar otra vez |
Falta Build.class |
la ejecución no puede cargar la clase | ejecuta primero javac Build.java |
Compilar no es Summary ni Mini Project
Summary te pidió explicar ready 42 de Recap. Compiling te pide observar a javac escribir bytecode y a java cargarlo. Mini Project te pedirá construir un programa pequeño propio en la página siguiente. No mezcles esos tres trabajos en un archivo de principiante hoy.
ok y built son solo palabras de pantalla para este archivo didáctico. No son caras de Random ni una fila del mapa de Summary. Cuando falta el import de Random en un archivo Dice sobrante, ese problema pertenece a la práctica de Random, no a Compilar. Cuando Recap sigue imprimiendo ready 42, deja ese archivo como historial y mantén Build en pantalla.
Sin javac, no hay .class nuevo para tu fuente más reciente. Sin el comando correcto java Build, quizá nunca cargues esa clase. Mantén ambos pasos. Mantén el nombre de clase coincidiendo con el archivo. Mantén archivos de Mini Project fuera de esta página hasta esa lección.
Comprobaciones de carpeta antes de seguir
Lista la carpeta tras una compilación exitosa. Deberías ver Build.java y Build.class juntos. El fuente es lo que editas. El archivo de clase es lo que ejecutas. Los principiantes a veces persiguen la pantalla mientras editan el archivo equivocado — abre Build.java, guarda, compila y ejecuta.
Si javac no encuentra Build.java, revisa la carpeta actual y la ortografía del nombre del archivo, incluida la B mayúscula. Si la ejecución no imprime nada, confirma que main sigue conteniendo las líneas println. Si la pantalla sigue mostrando solo ok después de añadir built, probablemente saltaste la segunda compilación.
No trates Compiling como lugar para inventar árboles de paquetes o empaquetado jar. Esos temas esperan. Esta página mantiene una clase pública, dos pantallas claras y el par javac / java.
Antes de Mini Project
Puedes mantener la clase pública Build, imprimir ok en la primera demo, ok y luego built en la segunda, compilar con javac Build.java, ver aparecer Build.class y ejecutar java Build sin la terminación .java. La tabla separa compilar de ejecutar. La página siguiente es Mini Project, donde construyes un programa pequeño con piezas que ya tienes.
Mantén las demos Build como un par claro de compilar y ejecutar. Mantén archivos Recap Summary fuera de esta página al practicar Compiling. Mantén demos de dados Random fuera de esta página al practicar Compiling. Mantén el trabajo de Mini Project fuera de esta página hasta esa lección. Esos hábitos son el punto de control antes de seguir. Cuando la pantalla de una línea muestra ok o la de dos líneas muestra ok y luego built, Compiling cumplió su trabajo en esta lección y estás listo para Mini Project.
Un último repaso de la carpeta: una Build pública, Build.class presente tras javac, sin espera de teclado, sin imports forzados de Random o LocalDate, comando de ejecución sin .java. Ejecuta javac Build.java y java Build una vez más en la demo que dejas abierta. Si la pantalla sigue mostrando ok o ok y luego built, la forma de Compiling es sólida y el curso puede pasar a Mini Project en la página siguiente. Prefiere un hábito de compilación claro por lectura para que cada paso enseñe el mismo mapa.
🧠 Pon a Prueba tu Conocimiento
Pon a Prueba tu Conocimiento
Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema
📝 Instrucciones
- Lee cada pregunta cuidadosamente
- Selecciona la mejor respuesta para cada pregunta
- Puedes repetir el quiz tantas veces como quieras
- Tu progreso se mostrará en la parte superior