
Una de las áreas en las que estas diferencias son más evidentes es en las estructuras de control, que son fundamentales para dirigir el flujo de ejecución de un programa. Tanto JavaScript como Java ofrecen una variedad de estructuras de control, como if-else, bucles for y while, pero la sintaxis y el funcionamiento pueden variar entre ambos lenguajes. Veamos una comparación entre las estructuras de control en ambos lenguajes.
JavaScript y Java: Diferencias en estructuras de control
Este artículo estudia las diferencias y similitudes entre las estructuras de control en JavaScript y Java, proporcionando ejemplos claros para ayudar a los desarrolladores a comprender cómo se implementan en cada lenguaje. Si deseas profundizar en JavaScript, te recomendamos seguir el tutorial de JavaScript en nuestra plataforma de aprendizaje.
1. Condicional If-Else
Estructura
JavaScript:
if (condition) {
// Código a ejecutar si la condición es verdadera
} else {
// Código a ejecutar si la condición es falsa
}
Java:
if (condition) {
// Código a ejecutar si la condición es verdadera
} else {
// Código a ejecutar si la condición es falsa
}
Ejemplos
En los siguientes ejemplos, se verifica si la variable edad es mayor o igual a 18. Si es así, se imprime «Eres mayor de edad». De lo contrario, se imprime «Eres menor de edad».
JavaScript:
let edad = 18;
if (edad >= 18) {
console.log("Eres mayor de edad.");
} else {
console.log("Eres menor de edad.");
}
Java:
int edad = 18;
if (edad >= 18) {
System.out.println("Eres mayor de edad.");
} else {
System.out.println("Eres menor de edad.");
}
2. Bucles For
Estructura
JavaScript:
for (let i = 0; i < array.length; i++) {
// Bloque de código a ejecutar para cada elemento en el array
}
Java:
for (int i = 0; i < array.length; i++) {
// Bloque de código a ejecutar para cada elemento en el array
}
Ejemplos
En los siguientes ejemplos, se recorre un array de números e imprime cada elemento junto con su índice en el caso de JavaScript, y utilizando un bucle for convencional en el caso de Java.
JavaScript:
let numeros = [1, 2, 3, 4, 5];
for (let i = 0; i < numeros.length; i++) {
console.log("Elemento " + (i + 1) + ": " + numeros[i]);
}
Java:
int[] numeros = {1, 2, 3, 4, 5};
for (int i = 0; i < numeros.length; i++) {
System.out.println("Elemento " + (i + 1) + ": " + numeros[i]);
}
3. Bucles While
Estructura While
JavaScript:
while (condition) {
// Bloque de código a ejecutar mientras la condición sea verdadera
}
Java:
while (condition) {
// Bloque de código a ejecutar mientras la condición sea verdadera
}
Ejemplos
Los siguientes ejemplos ejecutan un bucle while que continúa mientras la variable count sea menor que 5. En cada iteración del bucle, se imprime el valor de count y luego se incrementa en 1. El bucle se detiene cuando count alcanza o supera 5.
JavaScript:
let count = 0;
while (count < 5) {
console.log("El contador es:", count);
count++;
}
Java:
int count = 0;
while (count < 5) {
System.out.println("El contador es: " + count);
count++;
}
Estructura Do-While
JavaScript:
do {
// Código a ejecutar al menos una vez
} while (condition);
Java:
do {
// Código a ejecutar al menos una vez
} while (condition);
Ejemplo
Los siguientes ejemplos ejecutan un bucle do-while que continúa ejecutando el bloque de código al menos una vez y luego se repite mientras la condición especificada sea verdadera. En ambos ejemplos, el bucle do-while imprime el valor de count y luego lo incrementa en 1. El bucle se detiene cuando count alcanza o supera 5.
JavaScript:
let count = 0;
do {
console.log("El contador es:", count);
count++;
} while (count < 5);
Java:
int count = 0;
do {
System.out.println("El contador es: " + count);
count++;
} while (count < 5);
4. Switch-Case
Estructura
JavaScript:
switch (expression) {
case value1:
// Código a ejecutar si expression es igual a value1
break;
case value2:
// Código a ejecutar si expression es igual a value2
break;
default:
// Código a ejecutar si expression no coincide con ningún caso
}
Java:
switch (expression) {
case value1:
// Código a ejecutar si expression es igual a value1
break;
case value2:
// Código a ejecutar si expression es igual a value2
break;
default:
// Código a ejecutar si expression no coincide con ningún caso
}
Ejemplos
El ejemplo utiliza la estructura de control switch para asignar un nombre de día correspondiente a un número de día específico. Dependiendo del valor de dayNumber, se asigna el nombre del día correspondiente a dayName. Si dayNumber no coincide con ningún caso, se asigna el valor «Día inválido».
JavaScript:
let dayNumber = 3;
let dayName;
switch (dayNumber) {
case 1:
dayName = "Lunes";
break;
case 2:
dayName = "Martes";
break;
case 3:
dayName = "Miércoles";
break;
case 4:
dayName = "Jueves";
break;
case 5:
dayName = "Viernes";
break;
case 6:
dayName = "Sábado";
break;
case 7:
dayName = "Domingo";
break;
default:
dayName = "Día inválido";
}
console.log("El día correspondiente al número", dayNumber, "es:", dayName);
Java:
public class Main {
public static void main(String[] args) {
int dayNumber = 3;
String dayName;
switch (dayNumber) {
case 1:
dayName = "Lunes";
break;
case 2:
dayName = "Martes";
break;
case 3:
dayName = "Miércoles";
break;
case 4:
dayName = "Jueves";
break;
case 5:
dayName = "Viernes";
break;
case 6:
dayName = "Sábado";
break;
case 7:
dayName = "Domingo";
break;
default:
dayName = "Día inválido";
}
System.out.println("El día correspondiente al número " + dayNumber + " es: " + dayName);
}
}
5. Tabla comparativa de estructuras de control entre JavaScript y Java
| Estructura | JavaScript | Java |
|---|---|---|
| Condicional If-Else | javascript if (condition) { // Código a ejecutar si la condición es verdadera } else { // Código a ejecutar si la condición es falsa } | java if (condition) { // Código a ejecutar si la condición es verdadera } else { // Código a ejecutar si la condición es falsa } |
| Bucles For | javascript for (let i = 0; i < array.length; i++) { // Bloque de código a ejecutar para cada elemento en el array } | java for (int i = 0; i < array.length; i++) { // Bloque de código a ejecutar para cada elemento en el array } |
| Bucles While | javascript while (condition) { // Bloque de código a ejecutar mientras la condición sea verdadera } | java while (condition) { // Bloque de código a ejecutar mientras la condición sea verdadera } |
| Switch-Case | javascript switch (expression) { case value1: // Código a ejecutar si expression es igual a value1 break; case value2: // Código a ejecutar si expression es igual a value2 break; default: // Código a ejecutar si expression no coincide con ningún caso } | java switch (expression) { case value1: // Código a ejecutar si expression es igual a value1 break; case value2: // Código a ejecutar si expression es igual a value2 break; default: // Código a ejecutar si expression no coincide con ningún caso } |