Entender Expresiones, Sentencias y Bloques en Java
Entender Expresiones, Sentencias y Bloques en Java
Esta guía explica las expresiones, sentencias y bloques en Java con ejemplos prácticos, basándose en la Especificación del Lenguaje Java (JLS) para mayor claridad.
En capítulos anteriores usamos expresiones, sentencias y bloques sin profundizar en su mecánica. Ahora que estás cómodo con variables, operadores y literales, exploremos estos conceptos fundamentales en profundidad.
Expresiones en Java
Una expresión en Java combina variables, operadores, literales y llamadas a métodos para producir un valor. Por ejemplo:
int score;
score = 90;
Aquí, score = 90 es una expresión que evalúa a un int. Otra ilustración:
Double a = 2.2, b = 3.4, result;
result = a + b - 3.4;
En este fragmento, a + b - 3.4 es una expresión aritmética que produce un Double. Las expresiones también pueden producir valores booleanos, como en condicionales:
if (number1 == number2)
System.out.println("Number 1 is larger than number 2");
Aquí, number1 == number2 devuelve un booleano, y la cadena dentro de println es una expresión literal de cadena.
Sentencias en Java
Una sentencia es una unidad completa de ejecución. Por ejemplo:
int score = 9*5;
Esta sentencia multiplica 9 por 5 y asigna el resultado a score. Observa que la expresión 9 * 5 está incrustada dentro de la sentencia.
Sentencias de Expresión
Cualquier expresión puede convertirse en una sentencia terminándola con punto y coma (;). Estas se llaman sentencias de expresión. Por ejemplo:
// expresión
number = 10
// sentencia
number = 10;
Aquí, number = 10 es una expresión; agregar el punto y coma la convierte en una sentencia. La misma regla se aplica a operadores de incremento:
// expresión
++number
// sentencia
++number;
Ambas formas son válidas, pero solo la última se ejecuta en tiempo de ejecución.
Sentencias de Declaración
Java usa sentencias de declaración para crear variables. Ejemplo:
Double tax = 9.5;
Esta sentencia declara una variable tax e la inicializa a 9.5. Las sentencias de declaración son esenciales para la seguridad de tipos y están definidas en la JLS §4.2.
Consejo: Las sentencias de control de flujo—como if, for y while—se cubren más adelante. Gobiernan la toma de decisiones y los bucles.
Bloques en Java
Un bloque agrupa cero o más sentencias entre llaves ({ }). Ejemplo:
class Main {
public static void main(String[] args) {
String band = "Beatles";
if (band == "Beatles") {
// inicio del bloque
System.out.print("Hey ");
System.out.print("Jude!");
} // fin del bloque
}
}
Salida:
Hey Jude!
El bloque if { … } contiene dos sentencias. Un bloque también puede estar vacío, como se muestra a continuación:
class Main {
public static void main(String[] args) {
if (10 > 5) {
// inicio del bloque
} // fin del bloque
}
}
Incluso sin sentencias, el bloque es sintácticamente válido. De manera similar, el cuerpo de un método puede ser un bloque vacío:
class AssignmentOperator {
public static void main(String[] args) {
// inicio del bloque
} // fin del bloque
}
Los bloques están definidos en la JLS §14 y son fundamentales para el ámbito y el control de flujo.
Java
- Expresiones, sentencias y bloques en C#: Guía completa con ejemplos prácticos
- Variables y Literales en Java: Guía Completa
- Dominar Entrada y Salida en Java: Imprimir, Leer y Formatear Datos
- Entender Expresiones, Sentencias y Bloques en Java
- Clases y Objetos en Java: Guía Práctica
- Clases y métodos abstractos en Java: Guía completa
- Dominando clases anidadas e internas en Java: Tipos, ejemplos y mejores prácticas
- Java throw vs throws: Dominando el manejo de excepciones con ejemplos prácticos
- Dominando Autoboxing y Unboxing en Java: Ejemplos Prácticos y Mejores Prácticas
- Dominando Expresiones Lambda en Java: Desde Básicos hasta Stream API
- Dominando el reemplazo de Strings en Java: replace(), replaceAll() y replaceFirst() explicados