lenguajes formales
Expresión
Construcción (combinación de tokens)
que se evalúa para devolver un valor.
Sentencia
Representación de una acción o una secuencia de acciones.
En Java, todas las sentencias terminan con un punto y coma [;].
Construcción de expresiones
§ Literales y variables son expresiones primarias:
1.7
sum
// Literal real de tipo double
// Variable
- Losliterales se evalúan a sí mismos.
- Las variables se evalúan a su valor.
§ Los operadores nos permiten combinar expresiones primarias y
otras expresiones formadas con operadores:
1 + 2 + 3*1.2 + (4 +8)/3.0
Los operadores se caracterizan por:
- El número de operandos (unarios, binarios o ternarios).
- El tipo de sus operandos (p.ej. numéricos o booleanos).
- El tipo del valor que generancomo resultado.
Introducción a la Programación: Java
- 44 -
© Fernando Berzal
Número de operandos
- Operadores unarios
Operador
Descripción
Cambio de signo
Operador NOT
Complemento a 1
!
~
- Operadores binarios
Operadores
+ - * / %
== != < >
=
&& || ^
& | ^
> >>>
+
Descripción
Operadores aritméticos
Operadores relacionales
Operadores booleanos
Operadores anivel de bits
Concatenación de cadenas
Tipo de los operandos
Operadores
+ - * / %
== !=
< > =
¡ && || ^
~ & | ^
> >>>
+
Descripción
Operadores aritméticos
Operadores de igualdad
Operadores booleanos
Operandos
Números
Cualesquiera
Números
o caracteres
Booleanos
Operadores a nivel de bits
Enteros
Concatenación de cadenas
Cadenas
Descripción
Operadoresaritméticos
Resultado
Número*
Operadores de comparación
Tipo del resultado
Operadores
+ - * / %
== != < >
=
¡ && || ^
~ & | ^
> >>>
+
Operadores relacionales
Booleano
Operadores booleanos
Operadores a nivel de bits
Entero
Concatenación de cadenas
Cadena
Introducción a la Programación: Java
- 45 -
© Fernando Berzal
Sentencias de asignación
Lassentencias de asignación constituyen el ingrediente básico en la
construcción de programas con lenguajes imperativos.
Sintaxis:
= ;
Al ejecutar una sentencia de asignación:
1. Se evalúa la expresión que aparece a la derecha del operador de
asignación (=).
2. El valor que se obtiene como resultado de evaluar la expresión
se almacena en la variable que aparece a la izquierda del
operador deasignación (=).
Restricción:
El tipo del valor que se obtiene como resultado de evaluar la
expresión ha de ser compatible con el tipo de la variable.
Ejemplos
x = x + 1;
// Declaración con inicialización
otraVariable = miVariable; // Sentencia de asignación
int miVariable = 20;
NOTA IMPORTANTE:
Una sentencia de asignación no es una igualdad matemática.
Introducción a laProgramación: Java
- 46 -
© Fernando Berzal
Efectos colaterales
Al evaluar una expresión, algunos operadores provocan efectos
colaterales (cambios en el estado del programa; es decir, cambios en
el valor de alguna de las variables del programa).
Operadores de incremento (++) y decremento (--)
El operador ++ incrementa el valor de una variable.
El operador -- decrementa el valor de unavariable.
El resultado obtenido depende de la posición relativa del operando:
Operador
x++
++x
x---x
Descripción
Post-incremento
Evalúa primero y después incrementa
Pre-incremento
Primero incrementa y luego evalúa
Post-decremento
Evalúa primero y luego decrementa
Pre-decremento
Primero decrementa y luego evalúa
Ejemplo
Equivalencia
Resultado
i=0; i++;
i=1; j=++i;
i=1;j=i++;
i=3; n=2*(++i);
i=3; n=2*(i++);
i=1; k=++i+i;
i=0; i=i+1;
i=1; i=i+1; j=i;
i=1; j=i; i=i+1;
i=3; i=i+1; n=2*i;
i=3; n=2*i; i=i+1;
i=1; i=i+1; k=i+i;
i=1;
j=2;
j=1;
n=8;
n=6;
k=4;
El uso de operadores de incremento y decremento reduce el tamaño
de las expresiones pero las hace más difíciles de interpretar. Es mejor
evitar su uso en expresiones que modifican múltiples...
Regístrate para leer el documento completo.