3.2 Aspectos léxicos.
La
sintaxis de un lenguaje define los elementos de dicho lenguaje y cómo se
combinan para formar un programa. Los elementos típicos de cualquier lenguaje
son los siguientes:
- Identificadores
- Tipos
de datos
- Palabras
reservadas.
- Variables
y constantes.
- Operadores
- Comentarios
Identificadores.
Un
identificador es un nombre que identifica a una variable, a un método o función
miembro, a una clase. Todos los lenguajes tienen ciertas reglas para componer
los identificadores:
- Todos
los identificadores han de comenzar con una letra, el carácter subrayado
(_) o el carácter dollar ( $ ).
- Puede
incluir, pero no comenzar por un número.
- No
puede incluir el carácter espacio en blanco.
- Distingue
entre letras mayúsculas y minúsculas.
- No
se pueden utilizar las palabras reservadas como identificadores
Tipos de datos.
Tipo
|
Descripción
|
boolean
|
Tiene dos valores true o false.
|
char
|
Caracteres Unicode de 16
bits Los caracteres alfa-numéricos son los mismos que los ASCII con el
bit alto puesto a 0. El intervalo de valores va desde 0 hasta 65535 (valores
de 16-bits sin signo).
|
byte
|
Tamaño 8 bits. El
intervalo de valores va desde -27 hasta 27 -1 (-128 a
127)
|
short
|
Tamaño 16 bits. El
intervalo de valores va desde -215 hasta 215-1 (-32768
a 32767)
|
int
|
Tamaño 32 bits. El
intervalo de valores va desde -231 hasta 231-1
(-2147483648 a 2147483647)
|
long
|
Tamaño 64 bits. El
intervalo de valores va desde -263 hasta 263-1
(-9223372036854775808 a 9223372036854775807)
|
float
|
Tamaño 32 bits. Números en
coma flotante de simple precisión. Estándar IEEE 754-1985 (de
1.40239846e–45f a 3.40282347e+38f)
|
double
|
Tamaño 64 bits. Números en
coma flotante de doble precisión. Estándar IEEE 754-1985. (de
4.94065645841246544e–324d a 1.7976931348623157e+308d.)
|
Palabras reservadas
En el siguiente cuadro se
listan las palabras reservadas, aquellas que emplea el lenguaje Java, y que el
programador no puede utilizar como identificadores.
Algunas de estas palabras le resultarán familiares al programador del lenguaje
C/C++. Las palabras reservadas señaladas con un arterisco (*) no se utilizan.
abstract
|
boolean
|
break
|
byte
|
byvalue*
|
case
|
cast*
|
catch
|
char
|
class
|
const*
|
continue
|
default
|
do
|
double
|
else
|
extends
|
false
|
final
|
finally
|
float
|
for
|
future*
|
generic*
|
goto*
|
if
|
implements
|
import
|
inner*
|
instanceof
|
int
|
interface
|
long
|
native
|
new
|
null
|
operator*
|
outer*
|
package
|
private
|
protected
|
public
|
rest*
|
return
|
short
|
satatic
|
super
|
switch
|
synchronized
|
this
|
throw
|
transient
|
true
|
try
|
var*
|
void
|
volatile
|
while
|
|
|
Las palabras reservadas se
pueden clasificar en las siguientes categorías:
- Tipos de datos: boolean, float, double, int, char
- Sentencias
condicionales: if,
else, switch
- Sentencias iterativas: for,
do, while, continue
- Tratamiento de
las excepciones: try,
catch, finally, throw
- Estructura de
datos: class,
interface, implements, extends
- Modificadores y
control de acceso: public,
private, protected, transient
- Otras: super, null, this.
Variables
Una variable es un nombre que
se asocia con una porción de la memoria del ordenador, en la que se guarda el
valor asignado a dicha variable. Hay varios tipos de variables que requieren
distintas cantidades de memoria para guardar datos en java se recomienda que la
variable inicie con minúsculas así como los metodos.
class Circulo{
double radio;
//...
}
Las variables son uno de los elementos básicos de un programa, y se deben
- Declarar
- Inicializar
Constantes
En programación, una constante es
un valor que no puede ser alterado durante la ejecución de un programa.
Una constante
corresponde a una longitud fija de un área reservada en la memoria principal
del ordenador, donde el programa almacena valores fijos
Ejemplo
static final double PI=3.1416;
Operadores
Los
operadores de Java se pueden dividir en las siguientes categorías:
a) Aritméticos.
b) De comparación y condicionales.
c) De asignación.
A)
Aritméticos
Operador
|
Uso
|
Descripción
|
+
|
op1 + op2
|
Suma op1 y op2
|
-
|
op1 - op2
|
Resta op2 de op1
|
*
|
op1 * op2
|
Multiplica op1 por op2
|
/
|
op1 / op2
|
Divide op1 por op2
|
%
|
op1 % op2
|
Calcula el resto de dividir op1 entre op2
|
Operador
|
Uso
|
Descripción
|
++
|
op++
|
Incrementa op en 1; se evalúa al valor anterior al incremento
|
++
|
++op
|
Incrementa op en 1; se evalúa al valor posterior al incremento
|
--
|
op--
|
Decrementa op en 1; se evalúa al valor anterior al incremento
|
--
|
--op
|
Decrementa op en 1; se evalúa al valor posterior al incremento
|
B)
De Comparación y condicionales
Operador
|
Uso
|
Devuelve verdadero si
|
>
|
op1 > op2
|
op1 es mayor que op2
|
>=
|
op1 >= op2
|
op1 es mayor o igual que op2
|
<
|
op1 < op2
|
op1 es menor que op2
|
<=
|
op1 <= op2
|
op1 es menor o igual que op2
|
==
|
op1 == op2
|
op1 y op2 son iguales
|
!=
|
op1 != op2
|
op1 y op2 son distintos
|
Operador
|
Uso
|
Devuelve verdadero si...
|
&&
|
op1 && op2
|
op1 y op2 son ambos verdaderos, condicionalmente evalúa op2
|
&
|
op1 & op2
|
op1 y op2 son ambos verdaderos, siempre evalúa op1 y op2
|
||
|
op1 || op2
|
op1 o op2 son verdaderos, condicionalmente evalúa op2
|
|
|
op1 | op2
|
op1 o op2 son verdaderos, siempre evalúa op1 y op2
|
!
|
! op
|
op es falso
|
C)
De Asignación
Operador
|
Uso
|
Equivalente a
|
+=
|
op1 += op2
|
op1 = op1 + op2
|
-=
|
op1 -= op2
|
op1 = op1 - op2
|
*=
|
op1 *= op2
|
op1 = op1 * op2
|
/=
|
op1 /= op2
|
op1 = op1 / op2
|
%=
|
op1 %= op2
|
op1 = op1 % op2
|
&=
|
op1 &= op2
|
op1 = op1 & op2
|
Comentarios
Un
comentario es un texto adicional que se añade al código para explicar su
funcionalidad, bien a otras personas que lean el programa, o al propio autor
como recordatorio. Los comentarios son una parte importante de la documentación
de un programa. Los comentarios son ignorados por el compilador, por lo que no
incrementan el tamaño del archivo ejecutable; se pueden por tanto, añadir
libremente al código para que pueda entenderse mejor.
La
programación orientada a objetos facilita mucho la lectura del código, por lo
que lo que no se precisa hacer tanto uso de los comentarios como en los
lenguajes estructurados. En Java existen tres tipos de comentarios
- Comentarios
en una sola línea
- Comentarios
de varias líneas
- Comentarios
de documentación
Como
podemos observar un comentario en varias líneas es un bloque de texto situado
entre el símbolo de comienzo del bloque /*, y otro de terminación del
mismo */. Teniendo encuentra este hecho, los programadores diseñan
comentarios como el siguiente:
/*--------------------------------|
| (C) Angel Franco García |
| fecha: Marzo 1999 |
| programa: PrimeroApp.java |
|---------------------------------*/
Los
comentarios de documentación es un bloque de texto situado entre el símbolo de
comienzo del bloque /**, y otro de terminación del mismo */. El
programa javadoc
utiliza estos comentarios para generar la documentación del código.
/** Este es el primer programa de una
Serie dedicada a explicar los fundamentos del lenguaje Java */
Habitualmente,
usaremos comentarios en una sola línea //,
ya que no tiene el inconveniente de aprendernos los símbolos de comienzo y
terminación del bloque, u olvidarnos de poner este último, dando lugar a un
error en el momento de la compilación. En la ventana de edición del Entorno
Integrado de Desarrollo (IDE) los comentarios se distinguen del resto del
código por el color del texto.
public class PrimeroApp{
public static void main(String[] args) {
//imprime un mensaje
System.out.println("El primer programa");
}
}
Un
procedimiento elemental de depuración de un programa consiste en anular ciertas
sentencias de un programa mediante los delimitadores de comentarios. Por
ejemplo, se puede modificar el programa y anular la sentencia que imprime el
mensaje, poniendo delante de ella el delimitador de comentarios en una sola
línea.
//System.out.println("El primer programa");
Al
correr el programa, observaremos que no imprime nada en la pantalla.
Caracteres
En
Java los caracteres no están restringidos a los ASCII sino son Unicode. Un
carácter está siempre rodeado de comillas simples como 'A', '9', 'ñ', etc. El
tipo de dato char
sirve para guardar estos caracteres.
Un
tipo especial de carácter es la secuencia de escape, similares a las del
lenguaje C/C++, que se utilizan para representar caracteres de control o
caracteres que no se imprimen. Una secuencia de escape está formada por la
barra invertida (\) y un carácter. En la siguiente tabla se dan las secuencias
de escape más utilizadas.
Carácter
|
Secuencia de escape
|
retorno de carro
|
\r
|
tabulador horizontal
|
\t
|
nueva línea
|
\n
|
barra invertida
|
\\
|
No hay comentarios:
Publicar un comentario